From 7b39bd70427f1815422f2988904bdc3385623130 Mon Sep 17 00:00:00 2001 From: jessonchan Date: Fri, 22 Aug 2014 16:43:42 +0800 Subject: [PATCH 1/3] refactor --- httplib/httplib.go | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/httplib/httplib.go b/httplib/httplib.go index bb5fb9ea..42615706 100644 --- a/httplib/httplib.go +++ b/httplib/httplib.go @@ -73,49 +73,42 @@ func SetDefaultSetting(setting BeegoHttpSettings) { } } -// Get returns *BeegoHttpRequest with GET method. -func Get(url string) *BeegoHttpRequest { - var req http.Request +// return *BeegoHttpRequest with specific method +func newBeegoRequest(url, method string) *BeegoHttpRequest { + req := http.Request{ + Proto: "HTTP/1.1", + ProtoMajor: 1, + ProtoMinor: 1, + } var resp http.Response - req.Method = "GET" + req.Method = method req.Header = http.Header{} return &BeegoHttpRequest{url, &req, map[string]string{}, map[string]string{}, defaultSetting, &resp, nil} } +// Get returns *BeegoHttpRequest with GET method. +func Get(url string) *BeegoHttpRequest { + return newBeegoRequest(url, "GET") +} + // Post returns *BeegoHttpRequest with POST method. func Post(url string) *BeegoHttpRequest { - var req http.Request - var resp http.Response - req.Method = "POST" - req.Header = http.Header{} - return &BeegoHttpRequest{url, &req, map[string]string{}, map[string]string{}, defaultSetting, &resp, nil} + return newBeegoRequest(url, "POST") } // Put returns *BeegoHttpRequest with PUT method. func Put(url string) *BeegoHttpRequest { - var req http.Request - var resp http.Response - req.Method = "PUT" - req.Header = http.Header{} - return &BeegoHttpRequest{url, &req, map[string]string{}, map[string]string{}, defaultSetting, &resp, nil} + return newBeegoRequest(url, "PUT") } // Delete returns *BeegoHttpRequest DELETE GET method. func Delete(url string) *BeegoHttpRequest { - var req http.Request - var resp http.Response - req.Method = "DELETE" - req.Header = http.Header{} - return &BeegoHttpRequest{url, &req, map[string]string{}, map[string]string{}, defaultSetting, &resp, nil} + return newBeegoRequest(url, "DELETE") } // Head returns *BeegoHttpRequest with HEAD method. func Head(url string) *BeegoHttpRequest { - var req http.Request - var resp http.Response - req.Method = "HEAD" - req.Header = http.Header{} - return &BeegoHttpRequest{url, &req, map[string]string{}, map[string]string{}, defaultSetting, &resp, nil} + return newBeegoRequest(url, "HEAD") } // BeegoHttpSettings From f684de2385253db7d9e271a1ae173e665e58480d Mon Sep 17 00:00:00 2001 From: jessonchan Date: Fri, 22 Aug 2014 17:12:46 +0800 Subject: [PATCH 2/3] fixed bug-request dump too early --- httplib/httplib.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/httplib/httplib.go b/httplib/httplib.go index 42615706..6531acd2 100644 --- a/httplib/httplib.go +++ b/httplib/httplib.go @@ -319,13 +319,6 @@ func (b *BeegoHttpRequest) getResponse() (*http.Response, error) { } b.req.URL = url - if b.setting.ShowDebug { - dump, err := httputil.DumpRequest(b.req, true) - if err != nil { - println(err.Error()) - } - println(string(dump)) - } trans := b.setting.Transport @@ -370,6 +363,14 @@ func (b *BeegoHttpRequest) getResponse() (*http.Response, error) { b.req.Header.Set("User-Agent", b.setting.UserAgent) } + if b.setting.ShowDebug { + dump, err := httputil.DumpRequest(b.req, true) + if err != nil { + println(err.Error()) + } + println(string(dump)) + } + resp, err := client.Do(b.req) if err != nil { return nil, err From 485c2e865ceb077957d3c286fdb888e1c384be3c Mon Sep 17 00:00:00 2001 From: JessonChan Date: Fri, 22 Aug 2014 17:43:05 +0800 Subject: [PATCH 3/3] bug fixed --- httplib/httplib.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/httplib/httplib.go b/httplib/httplib.go index 7969feb6..6531acd2 100644 --- a/httplib/httplib.go +++ b/httplib/httplib.go @@ -83,9 +83,6 @@ func newBeegoRequest(url, method string) *BeegoHttpRequest { var resp http.Response req.Method = method req.Header = http.Header{} - req.Proto = "HTTP/1.1" - req.ProtoMajor = 1 - req.ProtoMinor = 1 return &BeegoHttpRequest{url, &req, map[string]string{}, map[string]string{}, defaultSetting, &resp, nil} }