(機械翻訳) pyramid.httpexceptions

HTTP例外

このモジュールには、Pyramid HTTP例外クラスが含まれています。各クラスは、単一のHTTPステータスコードに関連しています。各クラスは:class: `〜HTTPException`のサブクラスです。各例外クラスは:term: `response`オブジェクトです。

各例外クラスは次のようなステータスコードを持っています:rfc: 2068:100〜300のコードは実際にはエラーではありません。 400はクライアント・エラー、500はサーバー・エラーです。

例外
HTTPException
HTTPSuccessful
  • 200 - HTTPOk
  • 201 - HTTPCreated
  • 202 - HTTPAccepted
  • 203 - HTTPNonAuthoritativeInformation
  • 204 - HTTPNoContent
  • 205 - HTTPResetContent
  • 206 - HTTPPartialContent
HTTPRedirection
  • 300 - HTTPMultipleChoices
  • 301 - HTTPMovedPermanently
  • 302 - HTTPFound
  • 303 - HTTPSeeOther
  • 304 - HTTPNotModified
  • 305 - HTTPUseProxy
  • 307 - HTTPTemporaryRedirect
HTTPError
HTTPClientError
  • 400 - HTTPBadRequest
  • 401 - HTTPUnauthorized
  • 402 - HTTPPaymentRequired
  • 403 - HTTPForbidden
  • 404 - HTTPNotFound
  • 405 - HTTPMethodNotAllowed
  • 406 - HTTPNotAcceptable
  • 407 - HTTPProxyAuthenticationRequired
  • 408 - HTTPRequestTimeout
  • 409 - HTTPConflict
  • 410 - HTTPGone
  • 411 - HTTPLengthRequired
  • 412 - HTTPPreconditionFailed
  • 413 - HTTPRequestEntityTooLarge
  • 414 - HTTPRequestURITooLong
  • 415 - HTTPUnsupportedMediaType
  • 416 - HTTPRequestRangeNotSatisfiable
  • 417 - HTTPExpectationFailed
  • 422 - HTTPUnprocessableEntity
  • 423 - HTTPLocked
  • 424 - HTTPFailedDependency
  • 428 - HTTPPreconditionRequired
  • 429 - HTTPTooManyRequests
  • 431 - HTTPRequestHeaderFieldsTooLarge
HTTPServerError
  • 500 - HTTPInternalServerError
  • 501 - HTTPNotImplemented
  • 502 - HTTPBadGateway
  • 503 - HTTPServiceUnavailable
  • 504 - HTTPGatewayTimeout
  • 505 - HTTPVersionNotSupported
  • 507 - HTTPInsufficientStorage

HTTP例外は:term: response`オブジェクトでもあるので、regular:class:〜pyramid.response.Response`に渡すことのできる同じパラメータのほとんどを受け入れます。各HTTP例外には、次の属性もあります。

``コード ``
例外のHTTPステータスコード
``タイトル ``
ステータス行の残りの部分(コードの後のもの)
「説明」
環境またはヘッダの置換を受けないエラーメッセージのプレーンテキストの説明。 $ {explanation}を介してテンプレートからアクセス可能です。
``詳細 ``
環境やヘッダーの置換を受けないプレーンテキストメッセージのカスタマイズ。 $ {detail}を介してテンプレートにアクセスできます
`` body_template``
環境とヘッダの置換に使用される `` String.template``形式のコンテンツフラグメント。デフォルトのテンプレートには、メッセージに説明と詳細が含まれています。

各HTTP例外は以下のパラメータを受け取り、その他のものは:class: `〜pyramid.response.Response`スーパークラスに転送されます:

``詳細 ``
デフォルトの `` detail``のプレーンテキストの上書き
「ヘッダー」
レスポンスに追加される(k、v)ヘッダペア、またはdictのリスト。 content_type = 'application / json' kwargと他の同様のkwargsを使って:class: `pyramid.response.Response`スーパークラスでサポートされている応答のプロパティを変更してください
``コメント ``
エンドユーザのために通常は削除される/プレーンテキストの追加情報
`` body_template``
説明をフレーム化し、さらに詳細にするHTMLのコンテンツフラグメントを含む `` string.Template``オブジェクト
「身体」
`` body_template``をオーバーライドし、レスポンスの本体として使用される文字列です。

応答ヘッダーのテンプレート値への置換は常に実行されます。 WSGI環境値の置換は、 `` request``が例外のコンストラクタに渡された場合に実行されます。

:class: 〜HTTPSeeOther、:class:〜HTTPUseProxy:クラス: 〜HTTPMultipleChoices、:クラス:〜HTTPMovedPermanently、:クラス: 〜HTTPFound、クラス:〜HTTPSeeOther、クラス: 〜HTTPSeeOther`のサブクラスです。 :class: `〜HTTPTemporaryRedirect)は` Location``フィールドを必要とするリダイレクトです。これを反映して、これらのサブクラスにはキーワードの引数がもう1つあります: ` location``は、リダイレクト先の場所を示します。

status_map

整数ステータスコードからHTTP例外クラスへのマッピング(例えば、整数"401 "は:class: `pyramid.httpexceptions.HTTPUnauthorized`にマップされます)。すべてのマップされた例外クラスは、class: `pyramid.httpexceptions`の子です。

exception_response(status_code, **kw)[ソース]

ステータスコードに基づいてHTTP例外を作成します。例:

raise exception_response(404) # raises an HTTPNotFound exception.

`` kw``として渡された値は例外のコンストラクタに渡されます。

exception HTTPException(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]
exception HTTPOk(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPSuccessful`のサブクラス

要求が成功したことを示します。

コード:200、タイトル:OK

exception HTTPRedirection(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

300秒のステータスコードを持つ例外の基本クラス(リダイレクト)

これは、3xxリダイレクトの抽象基本クラスです。これは、要求を実行するためにユーザエージェントがさらにアクションを取る必要があることを示します。エラー状態を必ずしも通知する必要はありません。

exception HTTPError(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

400および500のステータスコードを持つ例外の基本クラス

これは、エラーが発生し、進行中のすべての作業をコミットしないことを示す例外です。

exception HTTPClientError(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クライアントがエラーになっている400の基本クラス

これは、クライアントがエラーであると推定されるエラー状態です。これは予想される問題であり、バグとはみなされません。サーバー側のトレースバックは保証されていません。特化していない限り、これは '400 Bad Request'

exception HTTPServerError(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

サーバーがエラーになっている500の基本クラス

これは、サーバーがエラーであると推定されるエラー状態です。特化しない限り、これは '500 Internal Server Error'です。

exception HTTPCreated(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPSuccessful`のサブクラス

これは、要求が満たされ、新しいリソースが作成されたことを示します。

コード:201、タイトル:作成済み

exception HTTPAccepted(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPSuccessful`のサブクラス

これは、要求が処理のために受け入れられたが、処理が完了していないことを示します。

コード:202、タイトル:Accepted

exception HTTPNonAuthoritativeInformation(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPSuccessful`のサブクラス

これは、エンティティヘッダーの返されたメタ情報が、オリジンサーバーから利用可能な最終セットではなく、ローカルまたはサードパーティのコピーから収集されることを示します。

コード:203、タイトル:非公式情報

exception HTTPNoContent(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPSuccessful`のサブクラス

これは、サーバーが要求を満たしたが、エンティティー本体を戻す必要がないことを示し、更新されたメタ情報を戻したい場合があります。

コード:204、タイトル:コンテンツなし

exception HTTPResetContent(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPSuccessful`のサブクラス

これは、サーバが要求を満たしたことを示し、ユーザエージェントは、要求の送信を引き起こした文書ビューをリセットすべきである(SHOULD)。

コード:205、タイトル:コンテンツをリセットする

exception HTTPPartialContent(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPSuccessful`のサブクラス

これは、サーバーがリソースに対する部分的なGET要求を満たしていることを示します。

コード:206、タイトル:部分的な内容

exception HTTPMultipleChoices(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[ソース]

クラス: `〜_HTTPMove`のサブクラス

これは、要求されたリソースが、それぞれがそれ自身の特定の位置を有する1組の表現のうちのいずれか1つに対応し、ユーザが好ましい表現を選択し、その要求をその場所にリダイレクトできるようにエージェント駆動ネゴシエーション情報が提供されていることを示す。

コード:300、タイトル:複数の選択肢

exception HTTPMovedPermanently(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[ソース]

クラス: `〜_HTTPMove`のサブクラス

これは、要求されたリソースに新しい永続URIが割り当てられていることを示し、このリソースへの将来の参照は、返されたURIの1つを使用するべきである(SHOULD)。

コード:301、タイトル:Moved Permanently

exception HTTPFound(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[ソース]

クラス: `〜_HTTPMove`のサブクラス

これは、要求されたリソースが一時的に別のURIに存在することを示します。

コード:302、タイトル:Found

exception HTTPSeeOther(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[ソース]

クラス: `〜_HTTPMove`のサブクラス

これは、要求に対する応答が別のURIで見つかる可能性があることを示し、そのリソースに対するGETメソッドを使用して取得されるべきである(SHOULD)。

コード:303、タイトル:その他を見る

exception HTTPNotModified(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPRedirection`のサブクラス

これは、クライアントが条件付きGETリクエストを実行し、アクセスが許可されていてもドキュメントが変更されていない場合、サーバはこのステータスコードで応答しなければならないことを示します。

コード:304、タイトル:Not Modified

exception HTTPUseProxy(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[ソース]

クラス: `〜_HTTPMove`のサブクラス

これは、Locationフィールドで指定されたプロキシを介して要求されたリソースにアクセスしなければならないことを示します。

コード:305、タイトル:プロキシを使用

exception HTTPTemporaryRedirect(location='', detail=None, headers=None, comment=None, body_template=None, **kw)[ソース]

クラス: `〜_HTTPMove`のサブクラス

これは、要求されたリソースが一時的に別のURIに存在することを示します。

コード:307、タイトル:一時的なリダイレクト

exception HTTPBadRequest(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、本文がヘッダーの有効性チェックに失敗し、サーバーが処理を続行できないことを示します。

コード:400、タイトル:Bad Request

exception HTTPUnauthorized(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、要求にユーザー認証が必要であることを示します。

コード:401、タイトル:Unauthorized

exception HTTPPaymentRequired(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

コード:402、タイトル:支払いが必要

exception HTTPForbidden(detail=None, headers=None, comment=None, body_template=None, result=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、サーバーが要求を理解したが、要求を実行することを拒否していることを示します。

コード:403、タイトル:禁止

:term: view`コードの中でこの例外を発生させて、すぐに:term:`禁止ビュー 'を呼び出したユーザに返します。通常これは基本的な ` 403``ページですが、禁止されたビューは必要に応じてカスタマイズできます。 ref: changing_the_forbidden_​​view`を参照してください。 ``禁じられた ``例外は:term: `禁止されたビュー `context``です。

この例外のコンストラクタは、2つの引数を特別に扱います。最初の引数 `` detail``は文字列でなければなりません。この文字列の値は、例外オブジェクトの `` message``属性として使用されます。 2番目の特別なキーワード引数 `` result``は、通常:class: pyramid.security.Denied`または:class: pyramid.security.ACLDenied`のインスタンスです。それぞれは、禁止されたエラーの理由を示します。しかし、 `` result``は単なるブール値の `` False``オブジェクトでもよいし、 `` None``でもよい。 `` result``値は、例外オブジェクトの `` result``属性として使用されます。デフォルトは `` None``です。

:term: `Forbidden View`は、必要に応じてForbidden例外の属性を使用して、ユーザーに表示されるエラーレポートに拡張情報を提供できます。

exception HTTPNotFound(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、サーバーがRequest-URIに一致するものを見つけられなかったことを示します。

コード:404、タイトル:見つからない

:term: view`コード内でこの例外を発生させて、すぐに:term: Not Found View`を呼び出したユーザに返します。通常、これは基本的な `` 404``ページですが、Not Found Viewは必要に応じてカスタマイズすることができます。参照:ref: changing_the_notfound_view

この例外のコンストラクタは `` detail``引数(最初の引数)を受け取ります。これは文字列でなければなりません。この文字列の値は:term: Not Found View`の利用可能性のためにこの例外の `message``属性として利用できます。

exception HTTPMethodNotAllowed(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、Request-Lineで指定されたメソッドが、Request-URIによって識別されるリソースに対して許可されていないことを示します。

コード:405、タイトル:Method Not Allowed

exception HTTPNotAcceptable(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、要求によって識別されたリソースが、要求で送信された受け入れヘッダに従って受け入れられないコンテンツ特性を持つ応答エンティティを生成することのみ可能であることを示します。

コード:406、タイトル:Not Acceptable

exception HTTPProxyAuthenticationRequired(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは401と似ていますが、クライアントが最初にプロキシで認証する必要があることを示します。

コード:407、タイトル:プロキシ認証が必要

exception HTTPRequestTimeout(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、サーバーが待機する準備ができた時間内にクライアントが要求を出さなかったことを示します。

コード:408、タイトル:Request Timeout

exception HTTPConflict(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、リソースの現在の状態との競合のために要求を完了できなかったことを示します。

コード:409、タイトル:競合

exception HTTPGone(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、要求されたリソースがサーバーで使用できなくなり、転送先アドレスがわからないことを示します。

コード:410、タイトル:Gone

exception HTTPLengthRequired(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、サーバーが定義されたContent-Lengthなしで要求を受け入れることを拒否することを示します。

コード:411、タイトル:Length Required

exception HTTPPreconditionFailed(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、1つ以上のリクエストヘッダーフィールドで指定された前提条件が、サーバー上でテストされたときにfalseと評価されたことを示します。

コード:412、タイトル:Precondition Failed

exception HTTPRequestEntityTooLarge(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、要求エンティティがサーバーが処理したい、または処理できるよりも大きいため、サーバーが要求の処理を拒否していることを示します。

コード:413、タイトル:Entity Too Large

exception HTTPRequestURITooLong(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、Request-URIがサーバーが解釈しようとするよりも長いため、サーバーが要求を処理することを拒否していることを示します。

コード:414、title:Request-URIが長すぎます

exception HTTPUnsupportedMediaType(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、要求のエンティティが、要求された方法で要求されたリソースでサポートされていない形式であるため、サーバーが要求を処理することを拒否していることを示します。

コード:415、タイトル:サポートされていないメディアタイプ

exception HTTPRequestRangeNotSatisfiable(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

要求がRange request-headerフィールドを含んでいて、このフィールドの範囲指定子値のどれもが選択されたリソースの現在のエクステントと重複していない場合、サーバはこのステータスコードを持つ応答を返すべきです(SHOULD)範囲リクエストヘッダフィールド。

コード:416、タイトル:Request Range Not Satisfiable

exception HTTPExpectationFailed(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、Expectのrequest-headerフィールドで指定された期待値がこのサーバーで満たされなかったことを示しています。

コード:417、タイトル:Expectation Failed

exception HTTPUnprocessableEntity(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、サーバーが含まれている指示を処理できないことを示します。

JSON / XMLが整形式であるが、現在の要求に対して正しくないことをクライアントに通知するために使用されることがあります。

詳細については、RFC4918のセクション11を参照してください。

コード:422、タイトル:Unprocessable Entity

exception HTTPLocked(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、リソースがロックされていることを示します。

コード:423、タイトル:Locked

exception HTTPFailedDependency(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPClientError`のサブクラス

これは、要求されたアクションが別のアクションに依存し、そのアクションが失敗したためにメソッドを実行できなかったことを示します。

コード:424、タイトル:失敗した依存関係

exception HTTPInternalServerError(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]
exception HTTPNotImplemented(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPServerError`のサブクラス

これは、サーバーが要求を満たすのに必要な機能をサポートしていないことを示します。

コード:501、タイトル:実装されていない

exception HTTPBadGateway(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPServerError`のサブクラス

これは、ゲートウェイまたはプロキシとして機能しているサーバーが、要求を実行しようとしてアクセスしたアップストリームサーバーから無効な応答を受信したことを示します。

コード:502、タイトル:Bad Gateway

exception HTTPServiceUnavailable(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPServerError`のサブクラス

これは、一時的なサーバーの過負荷または保守のために、サーバーが現在要求を処理できないことを示します。

コード:503、タイトル:Service Unavailable

exception HTTPGatewayTimeout(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPServerError`のサブクラス

これは、ゲートウェイまたはプロキシーとして動作しているサーバーが、アクセスする必要があったURI(HTTP、FTP、LDAPなど)またはその他の補助サーバー(DNSなど)によって指定されたアップストリームサーバーからタイムリーな応答を受信しなかったことを示します要求を完了しようとしています。

コード:504、タイトル:Gateway Timeout

exception HTTPVersionNotSupported(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPServerError`のサブクラス

これは、サーバーが要求メッセージで使用されたHTTPプロトコルバージョンをサポートしていないか、サポートを拒否していることを示します。

コード:505、タイトル:HTTPバージョンがサポートされていない

exception HTTPInsufficientStorage(detail=None, headers=None, comment=None, body_template=None, json_formatter=None, **kw)[ソース]

クラス: `〜HTTPServerError`のサブクラス

これは、サーバーにリソースを保存するための十分な領域がないことを示します。

コード:507、タイトル:ストレージ不足