Add stream for CompositionView

This commit is contained in:
38elements
2017-05-07 18:33:47 +09:00
parent ef2cc7ebf5
commit 931397c7e1
5 changed files with 76 additions and 3 deletions

View File

@@ -37,6 +37,7 @@ Sanic allows you to get request data by stream, as below. When the request ends,
```
from sanic import Sanic
from sanic.views import CompositionView
from sanic.blueprints import Blueprint
from sanic.response import stream, text
@@ -71,7 +72,20 @@ async def bp_handler(request):
result += body.decode('utf-8').replace('1', 'A')
return text(result)
async def post_handler(request):
result = ''
while True:
body = await request.stream.get()
if body is None:
break
result += body.decode('utf-8')
return text(result)
app.blueprint(bp)
view = CompositionView()
view.add(['POST'], post_handler, stream=True)
app.add_route(view, '/composition_view')
if __name__ == '__main__':