in core/responsev2.go [85:116]
func (r *ProxyResponseWriterV2) GetProxyResponse() (events.APIGatewayV2HTTPResponse, error) {
r.notifyClosed()
if r.status == defaultStatusCode {
return events.APIGatewayV2HTTPResponse{}, errors.New("Status code not set on response")
}
var output string
isBase64 := false
bb := (&r.body).Bytes()
if utf8.Valid(bb) {
output = string(bb)
} else {
output = base64.StdEncoding.EncodeToString(bb)
isBase64 = true
}
headers := make(map[string]string)
for headerKey, headerValue := range http.Header(r.headers) {
headers[headerKey] = strings.Join(headerValue, ",")
}
return events.APIGatewayV2HTTPResponse{
StatusCode: r.status,
Headers: headers,
Body: output,
IsBase64Encoded: isBase64,
}, nil
}