1
是否有任何方法來封裝WSGI應用程序方法,例如,當調用某個特定方法時,服務器將發送響應,而不是在應用程序方法返回序列時發送響應?在WSGI中,發送沒有返回的響應
基本上,我想要有相當於finish_response(responseValue)
方法。
是否有任何方法來封裝WSGI應用程序方法,例如,當調用某個特定方法時,服務器將發送響應,而不是在應用程序方法返回序列時發送響應?在WSGI中,發送沒有返回的響應
基本上,我想要有相當於finish_response(responseValue)
方法。
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()
具體來說,這個工程因爲WSGI規範指出潛在的WSGI服務器必須執行的每個數據塊的沖洗在獲得下一個之前從迭代器/發生器返回。 WSGI中間件顯然可能會以各種方式干擾此。 –