在WSGI中,发送响应而不返回

时间:2011-11-07 18:41:51

标签: python wsgi

有没有办法包装WSGI应用程序方法,这样服务器会在调用特定方法时发送响应,而不是在应用程序方法返回序列时发送响应?

基本上,我希望使用等效的finish_response(responseValue)方法。

1 个答案:

答案 0 :(得分:3)

WSGI应用程序必须以某种方式返回可迭代的。如果要发送部分响应,请将应用程序转换为生成器(或返回迭代器):

import wsgiref, wsgiref.simple_server, time

def app(environ, start):
    start('200 OK', [('Content-Type', 'text/plain')])

    yield 'hello '
    time.sleep(10)
    yield 'world'

httpd = wsgiref.simple_server.make_server('localhost', 8999, app)
httpd.serve_forever()