in fc/http_handler_response.go [72:92]
func (r *fcResponse) Payload() ([]byte, error) {
respHeaders := map[string]string{}
for key, values := range r.header {
respHeaders[key] = strings.Join(values, ", ")
}
encodedHttpParams, err := r.responseParams()
if err != nil {
return []byte{}, err
}
respHeaders[headerHttpParams] = encodedHttpParams
// json.Marshal encoded []byte as a base64-encoded string
// so `base64.StdEncoding.EncodeToString(r.body.Bytes())` is not necessary
// see https://pkg.go.dev/encoding/json#Marshal
resp := map[string]interface{}{
"headers": respHeaders,
"body": r.body.Bytes(),
"isBase64Encoded": true,
}
return json.Marshal(resp)
}