1
0
mirror of https://github.com/astaxie/beego.git synced 2024-06-26 18:24:14 +00:00

httplib support to set the protocol version for incoming requests

This commit is contained in:
toby.zxj 2014-05-09 15:48:50 +08:00
parent d5d5f23756
commit 3caf1896d6
2 changed files with 22 additions and 0 deletions

View File

@ -73,3 +73,8 @@ httplib support mutil file upload, use `b.PostFile()`
t.Fatal(err)
}
fmt.Println(str)
## set HTTP version
some servers need to specify the protocol version of HTTP
httplib.Get("http://beego.me/").SetProtocolVersion("HTTP/1.1")

View File

@ -109,6 +109,23 @@ func (b *BeegoHttpRequest) Header(key, value string) *BeegoHttpRequest {
return b
}
// Set the protocol version for incoming requests.
// Client requests always use HTTP/1.1.
func (b *BeegoHttpRequest) SetProtocolVersion(vers string) *BeegoHttpRequest {
if len(vers) == 0 {
vers = "HTTP/1.1"
}
major, minor, ok := http.ParseHTTPVersion(vers)
if ok {
b.req.Proto = vers
b.req.ProtoMajor = major
b.req.ProtoMinor = minor
}
return b
}
// SetCookie add cookie into request.
func (b *BeegoHttpRequest) SetCookie(cookie *http.Cookie) *BeegoHttpRequest {
b.req.Header.Add("Cookie", cookie.String())