in awslambda/serverless_wsgi.py [0:0]
def generate_response(response, event):
returndict = {u"statusCode": response.status_code}
if u"multiValueHeaders" in event:
returndict[u"multiValueHeaders"] = group_headers(response.headers)
else:
returndict[u"headers"] = split_headers(response.headers)
if is_alb_event(event):
# If the request comes from ALB we need to add a status description
returndict["statusDescription"] = u"%d %s" % (response.status_code, HTTP_STATUS_CODES[response.status_code])
if response.data:
mimetype = response.mimetype or "text/plain"
if (mimetype.startswith("text/") or mimetype in TEXT_MIME_TYPES) and not response.headers.get(
"Content-Encoding", ""
):
returndict["body"] = response.get_data(as_text=True)
returndict["isBase64Encoded"] = False
else:
returndict["body"] = base64.b64encode(response.data).decode("utf-8")
returndict["isBase64Encoded"] = True
return returndict