diff --git a/http.go b/http.go index 1cab217..7158a0c 100644 --- a/http.go +++ b/http.go @@ -169,12 +169,15 @@ func request(app *App) (httpResponse Response, err error) { // 赋值 httpResponse.RequestTime = gotime.Current().Time + httpResponse.RequestUri = app.httpUri + httpResponse.RequestMethod = app.httpMethod + httpResponse.RequestParams = app.httpParams.DeepCopy() // 判断网址 - if app.httpUri == "" { - app.httpUri = app.Uri + if httpResponse.RequestUri == "" { + httpResponse.RequestUri = app.Uri } - if app.httpUri == "" { + if httpResponse.RequestUri == "" { app.Error = errors.New("没有设置Uri") return httpResponse, app.Error } @@ -194,17 +197,12 @@ func request(app *App) (httpResponse Response, err error) { } } - // 赋值 - httpResponse.RequestUri = app.httpUri - httpResponse.RequestMethod = app.httpMethod - httpResponse.RequestParams = app.httpParams.DeepCopy() - // 请求内容 var reqBody io.Reader - if app.httpMethod == http.MethodPost && app.httpContentType == httpParamsModeJson { + if httpResponse.RequestMethod == http.MethodPost && app.httpContentType == httpParamsModeJson { app.httpHeader.Set("Content-Type", "application/json") - jsonStr, err := json.Marshal(app.httpParams) + jsonStr, err := json.Marshal(httpResponse.RequestParams) if err != nil { app.Error = errors.New(fmt.Sprintf("解析出错 %s", err)) return httpResponse, app.Error @@ -213,12 +211,12 @@ func request(app *App) (httpResponse Response, err error) { reqBody = bytes.NewBuffer(jsonStr) } - if app.httpMethod == http.MethodPost && app.httpContentType == httpParamsModeForm { + if httpResponse.RequestMethod == http.MethodPost && app.httpContentType == httpParamsModeForm { // 携带 form 参数 form := url.Values{} app.httpHeader.Set("Content-Type", "application/x-www-form-urlencoded") - if len(app.httpParams) > 0 { - for k, v := range app.httpParams { + if len(httpResponse.RequestParams) > 0 { + for k, v := range httpResponse.RequestParams { form.Add(k, GetParamsString(v)) } } @@ -227,7 +225,7 @@ func request(app *App) (httpResponse Response, err error) { } if app.httpContentType == httpParamsModeXml { - reqBody, err = app.httpParams.MarshalXML() + reqBody, err = httpResponse.RequestParams.MarshalXML() if err != nil { app.Error = errors.New(fmt.Sprintf("解析XML出错 %s", err)) return httpResponse, app.Error @@ -235,17 +233,17 @@ func request(app *App) (httpResponse Response, err error) { } // 创建请求 - req, err := http.NewRequest(app.httpMethod, app.httpUri, reqBody) + req, err := http.NewRequest(httpResponse.RequestMethod, httpResponse.RequestUri, reqBody) if err != nil { app.Error = errors.New(fmt.Sprintf("创建请求出错 %s", err)) return httpResponse, app.Error } // GET 请求携带查询参数 - if app.httpMethod == http.MethodGet { - if len(app.httpParams) > 0 { + if httpResponse.RequestMethod == http.MethodGet { + if len(httpResponse.RequestParams) > 0 { q := req.URL.Query() - for k, v := range app.httpParams { + for k, v := range httpResponse.RequestParams { q.Add(k, GetParamsString(v)) } req.URL.RawQuery = q.Encode()