2017-04-13 7 views
-5

の場合、client.Doメソッドを呼び出すと、429応答コード(別名が多すぎるリクエスト)のようなエラーをどのように通知されますか?ステータスコード429の応答オブジェクトを返すことを期待するか、「あまりにも多くのリクエスト」というメッセージだけでエラーが発生しますか?クライアント。ステータスコードが

私が必要としているのは、すべてのエラー(サーバー/ダイヤル/ TCP/DNSなど)と成功のステータスコードを取得できることだけで、実際のコードをエラーの場合。エラータイプに関係なくすべての応答コードを取得することはできますか?エラーメッセージは詳細を反映しているようですが、可能であればコードを取得したいと考えています。

+1

。 httpのステータスコードはあなたが応答するもので、それはあなた次第ですが、それはエラー状態ではありません。 – JimB

答えて

2

http documentationはこれを非常にはっきりとカバーしています。特に興味深いの

documentation for Doです:

クライアント(例えばCheckRedirectなど)ポリシー、またはHTTPを話すの失敗に起因する場合、エラーが(そのようなネットワーク接続の問題として)返され

2xx以外のステータスコードでもエラーは発生しません。

(強調追加)

そしてDoによって返さResponseオブジェクトのドキュメント:あなたはその逆の応答を取得したときにエラーが出ていない

type Response struct { 
    Status  string // e.g. "200 OK" 
    StatusCode int // e.g. 200 
関連する問題