В WSGI отправьте ответ без возврата - PullRequest
2 голосов
/ 07 ноября 2011

Есть ли способ обернуть метод приложения WSGI таким образом, чтобы сервер отправлял ответ при вызове определенного метода, а не когда метод приложения возвращает последовательность?

В принципе, я хотел быиметь эквивалент finish_response(responseValue) метода.

1 Ответ

3 голосов
/ 07 ноября 2011

Приложение 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()
...