xref: /unit/test/python/mirror/asgi.py (revision 1848:4bd548074e2c)
11626Smax.romanov@nginx.comasync def application(scope, receive, send):
21626Smax.romanov@nginx.com    assert scope['type'] == 'http'
31626Smax.romanov@nginx.com
41626Smax.romanov@nginx.com    body = b''
51626Smax.romanov@nginx.com    while True:
61626Smax.romanov@nginx.com        m = await receive()
71626Smax.romanov@nginx.com        body += m.get('body', b'')
81626Smax.romanov@nginx.com        if not m.get('more_body', False):
91626Smax.romanov@nginx.com            break
101626Smax.romanov@nginx.com
11*1848Szelenkov@nginx.com    await send(
12*1848Szelenkov@nginx.com        {
13*1848Szelenkov@nginx.com            'type': 'http.response.start',
14*1848Szelenkov@nginx.com            'status': 200,
15*1848Szelenkov@nginx.com            'headers': [(b'content-length', str(len(body)).encode())],
16*1848Szelenkov@nginx.com        }
17*1848Szelenkov@nginx.com    )
181626Smax.romanov@nginx.com
19*1848Szelenkov@nginx.com    await send({'type': 'http.response.body', 'body': body})
20