18.4.4 wsgiref.validate - WSGI 準拠チェッカ

WSGI アプリケーションのオブジェクト、フレームワーク、サーバ又はミドルウェアの 作成時には、その新規のコードを wsgiref.validate を使って準拠の検証をする と便利です。このモジュールは WSGI サーバやゲートウェイと WSGI アプリケーション オブジェクト間の通信を検証する WSGI アプリケーションオブジェクトを作成する 関数を提供し、双方のプロトコル準拠をチェックします。

このユーティリティは完全な PEP 333 準拠を保証するものでないことは注意してください; このモジュールでエラーが出ないことは必ずしもエラーが存在しないことを意味しません。 しかしこのモジュールがエラーを出したならば、サーバかアプリケーションの どちらかが 100 このモジュールは lan Bicking の "Python Paste" ライブラリの paste.lint モジュールをベースにしています。

validator( application)
application をラップし、新しい WSGI アプリケーションオブジェクトを返します。 返されたアプリケーションは全てのリクエストを元々の application に フォワードし、application とそれを呼び出すサーバの両方が WSGI 仕様と RFC 2616 の両方に準拠しているかをチェックします。

検出された非準拠は、投げられる AssertionError の中に入ります; しかし、このエラーがどう扱われるかはサーバ依存であることに注意してください。 例えば、wsgiref.simple_server とその他 wsgiref.handlers ベースの サーバ(エラー処理メソッドが他のことをするようにオーバライドしていないもの)は 単純にエラーが発生したというメッセージとトラックバックのダンプを sys.stderr や その他のエラーストリームに出力します。

このラッパはwarnings モジュールを使って出力を生成し、 疑問の余地はあるが実際には PEP 333 で禁止はされていないかもしれない挙動を 指摘します。これらは Python のコマンドラインオプションや warnings API で 抑制されなければ、sys.stderr(たまたま同一のオブジェクトで無い限り wsgi.errors ではない)に書き出されます。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。