1*1626Smax.romanov@nginx.comasync def application(scope, receive, send): 2*1626Smax.romanov@nginx.com assert scope['type'] == 'http' 3*1626Smax.romanov@nginx.com 4*1626Smax.romanov@nginx.com body = b'' 5*1626Smax.romanov@nginx.com while True: 6*1626Smax.romanov@nginx.com m = await receive() 7*1626Smax.romanov@nginx.com body += m.get('body', b'') 8*1626Smax.romanov@nginx.com if not m.get('more_body', False): 9*1626Smax.romanov@nginx.com break 10*1626Smax.romanov@nginx.com 11*1626Smax.romanov@nginx.com await send({ 12*1626Smax.romanov@nginx.com 'type': 'http.response.start', 13*1626Smax.romanov@nginx.com 'status': 200, 14*1626Smax.romanov@nginx.com 'headers': [ 15*1626Smax.romanov@nginx.com (b'content-length', str(len(body)).encode()), 16*1626Smax.romanov@nginx.com ] 17*1626Smax.romanov@nginx.com }) 18*1626Smax.romanov@nginx.com 19*1626Smax.romanov@nginx.com await send({ 20*1626Smax.romanov@nginx.com 'type': 'http.response.body', 21*1626Smax.romanov@nginx.com 'body': body, 22*1626Smax.romanov@nginx.com }) 23