summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/monaco-io/request/request.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/monaco-io/request/request.go')
-rw-r--r--vendor/github.com/monaco-io/request/request.go75
1 files changed, 5 insertions, 70 deletions
diff --git a/vendor/github.com/monaco-io/request/request.go b/vendor/github.com/monaco-io/request/request.go
index 0a4e7df4..6eb45acf 100644
--- a/vendor/github.com/monaco-io/request/request.go
+++ b/vendor/github.com/monaco-io/request/request.go
@@ -1,98 +1,33 @@
package request
import (
- "bytes"
- "crypto/tls"
"io/ioutil"
"net/http"
- "net/http/cookiejar"
- "net/url"
- "time"
)
// Do send http request
func (c *Client) Do() (resp SugaredResp, err error) {
defer resp.Close()
- if err := c.buildRequest(); err != nil {
- return resp, err
+ if err = c.buildRequest(); err != nil {
+ return
}
// send request and close on func call end
if resp.resp, err = c.client.Do(c.req); err != nil {
- return resp, err
+ return
}
// read response data form resp
resp.Data, err = ioutil.ReadAll(resp.resp.Body)
resp.Code = resp.resp.StatusCode
- return resp, err
-}
-
-func (c *Client) buildRequest() (err error) {
-
- // encode requestURL.httpURL like https://google.com?hello=world&package=request
- ru := requestURL{
- urlString: c.URL,
- parameters: c.Params,
- }
- if err := ru.EncodeURL(); err != nil {
- return err
- }
-
- // build request
- c.req, err = http.NewRequest(c.Method, ru.string(), bytes.NewReader(c.Body))
- if err != nil {
- return err
- }
-
- // apply Header to request
- if c.Method == "POST" {
- if c.ContentType == "" {
- c.ContentType = ApplicationJSON
- }
- c.req.Header.Set("Content-Type", string(c.ContentType))
- }
- for k, v := range c.Header {
- c.req.Header.Add(k, v)
- }
-
- // apply basic Auth of request header
- if c.BasicAuth.Username != "" && c.BasicAuth.Password != "" {
- c.req.SetBasicAuth(c.BasicAuth.Username, c.BasicAuth.Password)
- }
-
- c.client = &http.Client{}
-
- // apply timeout
- if c.Timeout > 0 {
- c.client.Timeout = c.Timeout * time.Second
- }
-
- // apply cookies
- if c.Cookies != nil {
- jar, _ := cookiejar.New(nil)
- jar.SetCookies(&url.URL{Scheme: ru.scheme(), Host: ru.host()}, c.Cookies)
- c.client.Jar = jar
- }
-
- // apply proxy
- if c.ProxyURL != "" {
- if proxy, err := url.Parse(c.ProxyURL); err == nil && proxy != nil {
- c.client.Transport = &http.Transport{
- Proxy: http.ProxyURL(proxy),
- TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
- }
- }
- }
-
- return err
+ return
}
// Resp do request and get original http response struct
func (c *Client) Resp() (resp *http.Response, err error) {
if err = c.buildRequest(); err != nil {
- return resp, err
+ return
}
return c.client.Do(c.req)
}