## 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` ではない）に書き出されます。