/ / Golang HttpクライアントリクエストがカスタムHttpステータスコードで失敗する-go、httpclient

Golang HTTPクライアント要求がカスタムHTTPステータスコードで失敗する - go、httpclient

私たちは古い統合を書き直していますpythonからgolangへのサービス。このサービスはカスタムステータスコードを使用します。たとえば、ステータスコードは8000です。しかし、応答を取得しようとすると、「不正なHTTPステータスコード」としてエラーが表示されます。誰かがこの問題を解決するのを手伝ってもらえますか。コードを調べて、ステータスコードの長さが3でない場合にエラーをスローする次のコードを見つけました。

   if len(statusCode) != 3 {
return nil, &badStringError{"malformed HTTP status code", statusCode}
}

編集: HTTPステータスのRFC標準が3桁であることを理解しています。しかし、私は銀行システムのレガシーコードを再統合しています。そのため、サービスの実装を変更するためのアクセス権がありません。

より多くのコンテキストを与えるために、Pythonのhttpライブラリはこの検証を行っていません。 (ある言語が他の言語より優れていると言っているわけではありませんので、言語/ライブラリを比較しないでください)この特定の検証をバイパスする方法があるかどうか疑問に思います。 事前に理解していただきありがとうございます。

回答:

回答№1は1

必要に応じて、一般情報(ok、クライアントエラー、サーバーエラーなど)に標準コードを使用し、詳細についてはペイロードで転送されるカスタムアプリケーションコードを使用できます。


回答№2の場合は1

RFC 2616から:

Status-Code要素は、3桁の整数の結果コードです。 試みる

あなたが持っているものは有効なHTTPではありません。ソケットを直接取得できる場合は、生のTCPデータを解析してみてください。