in fc/function.go [135:161]
func (fn *Function) invokeHttpFunc(invokeContext context.Context, httpParams *string,
reqPayload []byte, response *messages.InvokeResponse) error {
if httpParams == nil {
handler := errorHttpHandler(fmt.Errorf("no httpParams found in request"))
err := handler(invokeContext, newFcResponse(&http.Request{}), &http.Request{})
response.Error = fcErrorResponse(err)
return nil
}
req, err := genHttpRequest(*httpParams, reqPayload)
if err != nil {
response.Error = fcErrorResponse(err)
return nil
}
resp := newFcResponse(req)
err = fn.httpHandler.Invoke(invokeContext, resp, req)
if err != nil {
response.Error = fcErrorResponse(err)
return nil
}
response.Payload = resp.Body()
response.HttpParam, err = resp.HttpParam()
if err != nil {
response.Error = fcErrorResponse(err)
return nil
}
return nil
}