func genHttpRequest()

in fc/http_handler.go [125:147]


func genHttpRequest(httpParams string, payload []byte) (*http.Request, error) {
	data, err := base64.StdEncoding.DecodeString(httpParams)
	if err != nil {
		return nil, err
	}
	var params HTTPParams
	if err = json.Unmarshal(data, &params); err != nil {
		return nil, err
	}
	// generate req.RequestURI, req.URL.{Path, RawQuery}
	req, err := http.NewRequest(params.Method, params.RequestURI, bytes.NewBuffer(payload))
	if err != nil {
		return nil, err
	}
	req.URL.Path = params.Path
	req.URL.Host = params.Host
	req.RemoteAddr = params.ClientIP
	req.Host = params.ClientIP
	req.Header = params.HeadersMap
	req.RequestURI = params.RequestURI

	return req, nil
}