goz icon indicating copy to clipboard operation
goz copied to clipboard

A fantastic HTTP request libarary used in Golang.

Results 8 goz issues
Sort by recently updated
recently updated
newest added

http.Request Close 参数没有设置 httpClient 会默认在下一次请求时复用同一个 tcp链接 然而此时对方已经关闭,可能会出现 EOF 错误 参考:https://stackoverflow.com/questions/28046100/golang-http-concurrent-requests-post-eof

我这边以为BaseURI就类似axios里面的BaseURI,设置完了调用Get啥的可以不需要接url,但是,发现,不行,好像根本没拼接进去,大佬能说哈咋用吗?

同时在多个 goroutine 中使用 goz 下载文件时,会发生段错误 ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x67d7b9] goroutine 20255 [running]: github.com/idoubi/goz.(*Response).GetBody(0xc012042a60, 0x0, 0x0, 0x0,...

在寫單元測試時,會把很多元件進行隔離,Goz 沒有隔離的能力,這裡又很喜歡用Goz,但是這個我無法寫單元測試 比如一個程式是有二個主程式A B組成時,這時會發生一個狀況,當A程式更改時,會造成B程式的單元測試瓦解。當B程式更改時,會造成A程式的單元測試故障,所以在單元測試時,隔離的能力對我來說是很重要 我對Goz程式進行最小幅度的更改,並自己寫一個單元測試去證明這個修改方式可以增強 Goz 的單元測試的能力,謝謝 ![圖片](https://user-images.githubusercontent.com/38847157/96256894-09708680-0fec-11eb-9468-816d27b65762.png)

在较新版本的curl还支持一个为例子显示下:–resolve的选项,可以直接用来指定对url的解析 curl --resolve aqzt.com:80:127.0.0.1 http://aqzt.com

使用`fmt.Println(response.Raw)`获取,得到如下结果 ``` &{200 OK 200 HTTP/1.1 1 1 map[Cache-Control:[private, must-revalidate] Connection:[keep-alive] Content-Type:[text/html; charset=UTF-8] Date:[Thu, 30 May 2019 06:35:03 GMT] Expires:[-1] Pragma:[no-cache] Server:[nginx] Set-Cookie:[XSRF-TOKEN=eyJpdiI6ImVZOThBVFlRZ3MzZmNsaVJmczd6Z3c9PSIsInZhbHVlIjoiSUdiSU5MblF0XC83N25iUXliMjNsNUlqTFE0MXpJQ3RLdU1LeGMrR1dmWG9pT25cL2hrd2I2ZG5iQlVnQVNTblJzZENCcm1LcTlcL3RVelZ3RFNmOWtkYlE9PSIsIm1hYyI6IjU2ZWU2MGY5NGE1OWJhNjBiZjM5YTFhNDgwMzJkNjViNDkxYmI2NGEyZmUzZGQ0N2NkNjhmZDQ5NDg2YTcyOGIifQ%3D%3D; expires=Thu, 13-Jun-2019 06:35:03 GMT; Max-Age=1209600; path=/ laravel_session=eyJpdiI6ImpPMTI0MHI2WnM2OGw2RERpN1NOaWc9PSIsInZhbHVlIjoiSjhkUUJ4TFdIN2VGSkFQd0NkcUZGXC90dkFZOG1oSE1wWGwwVnFLTm1qejVqN1VBSWlrNWdlck9ZQnQxbHRHMmVyZGdwUmlcL1hxXC9qaTY5QlFaTTNUNEE9PSIsIm1hYyI6IjI3NzA4OTZiOTcxNzFiZjM0MTgzNGNlYmMyMjc0NmY2MDJhNTUxNzRmM2YwMWNjNDQ0ODBkOTQ0NjJlMTU0Y2MifQ%3D%3D;...

``` // can be adjusted to func (r *Response) GetReasonPhrase() string { status := r.resp.Status return status[strings.Index(status, " ")+1:] } ```