(機械翻訳) pyramid.wsgi

wsgiapp(wrapped)[ソース]

DecoratorはWSGIアプリケーションを:app: Pyramid:term:` view callable`に変換します。このデコレータは、アプリケーションが呼び出される前にWSGI環境*内の `` PATH_INFO``と `` SCRIPT_NAME``のフィックスアップが*実行されていないので、:func: `pyramid.wsgi.wsgiapp2`デコレータとは異なります。

例えば、 `` views.py``モジュールで次のようにします:

@wsgiapp
def hello_world(environ, start_response):
    body = 'Hello world'
    start_response('200 OK', [ ('Content-Type', 'text/plain'),
                               ('Content-Length', len(body)) ] )
    return [body]

次の呼び出しを許可します:meth: pyramid.config.Configurator.add_view

from views import hello_world
config.add_view(hello_world, name='hello_world.txt')

`` wsgiapp`デコレータはWSGIアプリケーションの結果を:term: Response`に変換し、WSGIアプリケーションが:app: Pyramid`ビューであるかのようにapp: `Pyramid`に返します。

wsgiapp2(wrapped)[ソース]

DecoratorはWSGIアプリケーションを:app: Pyramid`ビューで呼び出し可能にします。このデコレータは、アプリケーションが呼び出される前にWSGI環境*内の ` PATH_INFO``と `` SCRIPT_NAME``のフィックスアップが実行されているので、:func: `pyramid.wsgi.wsgiapp`デコレータとは異なります。

たとえば、 `` views.py``モジュールで次のようにします:

@wsgiapp2
def hello_world(environ, start_response):
    body = 'Hello world'
    start_response('200 OK', [ ('Content-Type', 'text/plain'),
                               ('Content-Length', len(body)) ] )
    return [body]

次の呼び出しを許可します:meth: pyramid.config.Configurator.add_view

from views import hello_world
config.add_view(hello_world, name='hello_world.txt')

`` wsgiapp2``デコレータはWSGIアプリケーションの結果をResponseに変換し、WSGIアプリケーションが:app: Pyramid`ビューであるかのようにapp: Pyramid`に返します。 WSGI環境にある `` SCRIPT_NAME``と `` PATH_INFO``の値は、アプリケーションが呼び出される前に修正されています。特に、新しいWSGI環境が生成され、 `` wsgiapp2``に渡されたリクエストの:term: subpath`が新しいリクエストの PATH_INFO``として使われ、サブパスに先行する全てが `` SCRIPT_NAME``。新しい環境は、下流のWSGIアプリケーションに渡されます。