From c7b7a5128aaab776fdc1794b3bf011515c37d1e3 Mon Sep 17 00:00:00 2001 From: root <1@root.com> Date: Wed, 9 Jul 2025 01:31:37 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BD=BFclient=E6=9C=89=E6=90=BA=E5=B8=A6?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E6=96=87=E7=9A=84=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client.go | 11 ++++++++ context.go | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 context.go diff --git a/client.go b/client.go index bf9af8c..0193d44 100644 --- a/client.go +++ b/client.go @@ -73,6 +73,7 @@ type Client struct { responseBodyTransformer func(rawBody []byte, req *Request, resp *Response) (transformedBody []byte, err error) resultStateCheckFunc func(resp *Response) ResultState onError ErrorHook + ctx *clientContext // 使Client拥有携带上下文信息的能力 } type ErrorHook func(client *Client, req *Request, resp *Response, err error) @@ -82,6 +83,7 @@ func (c *Client) R() *Request { return &Request{ client: c, retryOption: c.retryOption.Clone(), + ctx: c.Context(), // 继承 Client 的上下文 } } @@ -1527,6 +1529,12 @@ func (c *Client) Clone() *Client { cc.afterResponse = cloneSlice(c.afterResponse) cc.dumpOptions = c.dumpOptions.Clone() cc.retryOption = c.retryOption.Clone() + + // clone context and clientContext + cc.ctx = &clientContext{ + context: c.ctx.context, + } + return &cc } @@ -1565,6 +1573,9 @@ func C() *Client { xmlMarshal: xml.Marshal, xmlUnmarshal: xml.Unmarshal, cookiejarFactory: memoryCookieJarFactory, + ctx: &clientContext{ + context: context.Background(), + }, } c.SetRedirectPolicy(DefaultRedirectPolicy()) c.initCookieJar() diff --git a/context.go b/context.go new file mode 100644 index 0000000..72a6807 --- /dev/null +++ b/context.go @@ -0,0 +1,78 @@ +package req + +import ( + "context" + "sync" +) + +// clientContext 为 Client 提供上下文能力,确保并发安全 +type clientContext struct { + mu sync.RWMutex + context context.Context +} + +// WithContext 添加上下文键值对,使用读写锁保证并发安全 +// 这种方式避免了 Clone 整个 Client 的开销 +func (c *Client) WithContext(key, value any) *Client { + if c.ctx == nil { + c.ctx = &clientContext{ + context: context.Background(), + } + } + + c.ctx.mu.Lock() + defer c.ctx.mu.Unlock() + + if c.ctx.context == nil { + c.ctx.context = context.Background() + } + c.ctx.context = context.WithValue(c.ctx.context, key, value) + return c +} + +// GetContext 获取上下文值,使用读锁保证并发安全 +func (c *Client) GetContext(key any) any { + if c.ctx == nil { + return context.Background().Value(key) + } + + c.ctx.mu.RLock() + defer c.ctx.mu.RUnlock() + + if c.ctx.context == nil { + return nil + } + return c.ctx.context.Value(key) +} + +// SetContext 设置基础上下文,使用写锁保证并发安全 +func (c *Client) SetContext(ctx context.Context) *Client { + if ctx == nil { + ctx = context.Background() + } + + if c.ctx == nil { + c.ctx = &clientContext{} + } + + c.ctx.mu.Lock() + defer c.ctx.mu.Unlock() + + c.ctx.context = ctx + return c +} + +// Context 获取当前上下文,使用读锁保证并发安全 +func (c *Client) Context() context.Context { + if c.ctx == nil { + return context.Background() + } + + c.ctx.mu.RLock() + defer c.ctx.mu.RUnlock() + + if c.ctx.context == nil { + return context.Background() + } + return c.ctx.context +} From 74bc55ad58b49c27cac76bed32bde715d2ef60b0 Mon Sep 17 00:00:00 2001 From: root <1@root.com> Date: Wed, 9 Jul 2025 02:31:30 +0900 Subject: [PATCH 2/2] 1 --- README.md | 30 +++++++++---------- client.go | 6 ++-- client_impersonate.go | 2 +- client_test.go | 4 +-- client_wrapper.go | 2 +- decode.go | 2 +- decode_test.go | 2 +- digest.go | 2 +- dump.go | 2 +- examples/find-popular-repo/go.mod | 20 ++++++------- examples/find-popular-repo/go.sum | 6 ++++ examples/find-popular-repo/main.go | 2 +- .../github/github.go | 2 +- examples/opentelemetry-jaeger-tracing/go.mod | 20 ++++++------- examples/opentelemetry-jaeger-tracing/go.sum | 6 ++++ examples/upload/uploadclient/go.mod | 20 ++++++------- examples/upload/uploadclient/go.sum | 6 ++++ examples/upload/uploadclient/main.go | 2 +- examples/uploadcallback/uploadclient/go.mod | 20 ++++++------- examples/uploadcallback/uploadclient/go.sum | 6 ++++ examples/uploadcallback/uploadclient/main.go | 2 +- go.mod | 2 +- header.go | 2 +- http.go | 2 +- http_request.go | 4 +-- internal/altsvcutil/altsvcutil.go | 4 +-- internal/altsvcutil/altsvcutil_test.go | 2 +- internal/charsets/charsets_test.go | 2 +- internal/chunked.go | 11 +++---- internal/godebug/godebug.go | 4 +-- internal/http2/frame.go | 4 +-- internal/http2/headermap.go | 2 +- internal/http2/transport.go | 18 +++++------ internal/http3/client.go | 4 +-- internal/http3/conn.go | 2 +- internal/http3/request_writer.go | 4 +-- internal/http3/stream.go | 6 ++-- internal/http3/transport.go | 2 +- internal/socks/socks_test.go | 2 +- internal/transport/option.go | 2 +- logger_test.go | 2 +- middleware.go | 4 +-- req_test.go | 4 +-- request.go | 6 ++-- request_test.go | 4 +-- response.go | 4 +-- retry_test.go | 2 +- roundtrip_js.go | 2 +- textproto_reader.go | 2 +- transfer.go | 8 ++--- transport.go | 30 +++++++++---------- 51 files changed, 168 insertions(+), 143 deletions(-) diff --git a/README.md b/README.md index 2e71bd0..99bafc6 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@

Simple Go HTTP client with Black Magic

Build Status - Go Report Card - + Go Report Card + License GitHub Releases Mentioned in Awesome Go @@ -38,7 +38,7 @@ Full documentation is available on the official website: https://req.cool. You first need [Go](https://go.dev/) installed (version 1.24+ is required), then you can use the below Go command to install req: ``` sh -go get github.com/imroc/req/v3 +go get github.com/0xobjc/req/v3 ``` **Import** @@ -46,7 +46,7 @@ go get github.com/imroc/req/v3 Import req to your code: ```go -import "github.com/imroc/req/v3" +import "github.com/0xobjc/req/v3" ``` **Basic Usage** @@ -60,7 +60,7 @@ $ cat main.go package main import ( - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" ) func main() { @@ -79,7 +79,7 @@ $ go run main.go :method: GET :path: /uuid :scheme: https -user-agent: req/v3 (https://github.com/imroc/req/v3) +user-agent: req/v3 (https://github.com/0xobjc/req/v3) accept-encoding: gzip :status: 200 @@ -97,7 +97,7 @@ access-control-allow-credentials: true 2022/05/19 10:05:09.340974 DEBUG [req] HTTP/1.1 GET https://httpbin.org/uuid GET /uuid HTTP/1.1 Host: httpbin.org -User-Agent: req/v3 (https://github.com/imroc/req/v3) +User-Agent: req/v3 (https://github.com/0xobjc/req/v3) Accept-Encoding: gzip HTTP/1.1 200 OK @@ -136,7 +136,7 @@ package main import ( "fmt" - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" "log" ) @@ -164,7 +164,7 @@ package main import ( "fmt" - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" "log" "time" ) @@ -232,7 +232,7 @@ package main import ( "fmt" - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" "log" "time" ) @@ -296,7 +296,7 @@ package main import ( "fmt" - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" "log" ) @@ -337,7 +337,7 @@ func main() { :method: POST :path: /post :scheme: https -user-agent: req/v3 (https://github.com/imroc/req/v3) +user-agent: req/v3 (https://github.com/0xobjc/req/v3) content-type: application/json; charset=utf-8 content-length: 55 accept-encoding: gzip @@ -362,7 +362,7 @@ access-control-allow-credentials: true "Content-Length": "55", "Content-Type": "application/json; charset=utf-8", "Host": "httpbin.org", - "User-Agent": "req/v3 (https://github.com/imroc/req/v3)", + "User-Agent": "req/v3 (https://github.com/0xobjc/req/v3)", "X-Amzn-Trace-Id": "Root=1-628633d4-7559d633152b4307288ead2e" }, "json": { @@ -387,7 +387,7 @@ package main import ( "fmt" - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" ) type APIResponse struct { @@ -425,7 +425,7 @@ Here is an example of building GitHub's SDK with req, using two styles (`GetUser import ( "context" "fmt" - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" ) type ErrorMessage struct { diff --git a/client.go b/client.go index 0193d44..fd4aede 100644 --- a/client.go +++ b/client.go @@ -21,9 +21,9 @@ import ( utls "github.com/refraction-networking/utls" "golang.org/x/net/publicsuffix" - "github.com/imroc/req/v3/http2" - "github.com/imroc/req/v3/internal/header" - "github.com/imroc/req/v3/internal/util" + "github.com/0xobjc/req/v3/http2" + "github.com/0xobjc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/util" ) // DefaultClient returns the global default Client. diff --git a/client_impersonate.go b/client_impersonate.go index dfa9235..6ad12c7 100644 --- a/client_impersonate.go +++ b/client_impersonate.go @@ -7,7 +7,7 @@ import ( "strconv" "strings" - "github.com/imroc/req/v3/http2" + "github.com/0xobjc/req/v3/http2" utls "github.com/refraction-networking/utls" ) diff --git a/client_test.go b/client_test.go index 456c108..419780f 100644 --- a/client_test.go +++ b/client_test.go @@ -17,8 +17,8 @@ import ( "testing" "time" - "github.com/imroc/req/v3/internal/header" - "github.com/imroc/req/v3/internal/tests" + "github.com/0xobjc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/tests" "golang.org/x/net/publicsuffix" ) diff --git a/client_wrapper.go b/client_wrapper.go index 1d6368f..7bac81d 100644 --- a/client_wrapper.go +++ b/client_wrapper.go @@ -9,7 +9,7 @@ import ( "net/url" "time" - "github.com/imroc/req/v3/http2" + "github.com/0xobjc/req/v3/http2" utls "github.com/refraction-networking/utls" ) diff --git a/decode.go b/decode.go index 825cffc..5285e5b 100644 --- a/decode.go +++ b/decode.go @@ -1,7 +1,7 @@ package req import ( - "github.com/imroc/req/v3/internal/charsets" + "github.com/0xobjc/req/v3/internal/charsets" "io" "strings" ) diff --git a/decode_test.go b/decode_test.go index e65a8ea..18ee2e2 100644 --- a/decode_test.go +++ b/decode_test.go @@ -1,7 +1,7 @@ package req import ( - "github.com/imroc/req/v3/internal/tests" + "github.com/0xobjc/req/v3/internal/tests" "testing" ) diff --git a/digest.go b/digest.go index 0695d8c..e21384e 100644 --- a/digest.go +++ b/digest.go @@ -6,8 +6,8 @@ import ( "net/http" "sync" + "github.com/0xobjc/req/v3/internal/header" "github.com/icholy/digest" - "github.com/imroc/req/v3/internal/header" ) // cchal is a cached challenge and the number of times it's been used. diff --git a/dump.go b/dump.go index 77f9634..dc9f724 100644 --- a/dump.go +++ b/dump.go @@ -1,7 +1,7 @@ package req import ( - "github.com/imroc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/internal/dump" "io" "os" ) diff --git a/examples/find-popular-repo/go.mod b/examples/find-popular-repo/go.mod index 890f146..9b42566 100644 --- a/examples/find-popular-repo/go.mod +++ b/examples/find-popular-repo/go.mod @@ -1,12 +1,12 @@ module find-popular-repo -go 1.22.0 +go 1.24 -toolchain go1.22.3 +toolchain go1.24.3 -replace github.com/imroc/req/v3 => ../../ +replace github.com/0xobjc/req/v3 => ../../ -require github.com/imroc/req/v3 v3.0.0 +require github.com/0xobjc/req/v3 v3.0.0 require ( github.com/cheekybits/genny v1.0.0 // indirect @@ -21,11 +21,11 @@ require ( github.com/marten-seemann/qtls-go1-19 v0.1.1 // indirect github.com/nxadm/tail v1.4.8 // indirect github.com/onsi/ginkgo v1.16.5 // indirect - golang.org/x/crypto v0.29.0 // indirect - golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.31.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/text v0.20.0 // indirect - golang.org/x/tools v0.27.0 // indirect + golang.org/x/crypto v0.39.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.26.0 // indirect + golang.org/x/tools v0.34.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect ) diff --git a/examples/find-popular-repo/go.sum b/examples/find-popular-repo/go.sum index b70f266..e3d94b4 100644 --- a/examples/find-popular-repo/go.sum +++ b/examples/find-popular-repo/go.sum @@ -173,6 +173,7 @@ golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98y golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -185,6 +186,7 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -210,6 +212,7 @@ golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -251,6 +254,7 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -264,6 +268,7 @@ golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -283,6 +288,7 @@ golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg= golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/examples/find-popular-repo/main.go b/examples/find-popular-repo/main.go index 44708f3..5199c21 100644 --- a/examples/find-popular-repo/main.go +++ b/examples/find-popular-repo/main.go @@ -4,7 +4,7 @@ import ( "fmt" "strconv" - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" ) // Change the name if you want diff --git a/examples/opentelemetry-jaeger-tracing/github/github.go b/examples/opentelemetry-jaeger-tracing/github/github.go index b789830..c979148 100644 --- a/examples/opentelemetry-jaeger-tracing/github/github.go +++ b/examples/opentelemetry-jaeger-tracing/github/github.go @@ -3,7 +3,7 @@ package github import ( "context" "fmt" - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/trace" diff --git a/examples/opentelemetry-jaeger-tracing/go.mod b/examples/opentelemetry-jaeger-tracing/go.mod index 6454f31..2b889db 100644 --- a/examples/opentelemetry-jaeger-tracing/go.mod +++ b/examples/opentelemetry-jaeger-tracing/go.mod @@ -1,13 +1,13 @@ module opentelemetry-jaeger-tracing -go 1.22.0 +go 1.24 -toolchain go1.22.3 +toolchain go1.24.3 -replace github.com/imroc/req/v3 => ../../ +replace github.com/0xobjc/req/v3 => ../../ require ( - github.com/imroc/req/v3 v3.0.0 + github.com/0xobjc/req/v3 v3.0.0 go.opentelemetry.io/otel v1.9.0 go.opentelemetry.io/otel/exporters/jaeger v1.9.0 go.opentelemetry.io/otel/sdk v1.9.0 @@ -30,11 +30,11 @@ require ( github.com/marten-seemann/qtls-go1-19 v0.1.0 // indirect github.com/nxadm/tail v1.4.8 // indirect github.com/onsi/ginkgo v1.16.5 // indirect - golang.org/x/crypto v0.29.0 // indirect - golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.31.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/text v0.20.0 // indirect - golang.org/x/tools v0.27.0 // indirect + golang.org/x/crypto v0.39.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.26.0 // indirect + golang.org/x/tools v0.34.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect ) diff --git a/examples/opentelemetry-jaeger-tracing/go.sum b/examples/opentelemetry-jaeger-tracing/go.sum index 768df1c..fe5009b 100644 --- a/examples/opentelemetry-jaeger-tracing/go.sum +++ b/examples/opentelemetry-jaeger-tracing/go.sum @@ -184,6 +184,7 @@ golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98y golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -196,6 +197,7 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -224,6 +226,7 @@ golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -269,6 +272,7 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -283,6 +287,7 @@ golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -301,6 +306,7 @@ golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg= golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/examples/upload/uploadclient/go.mod b/examples/upload/uploadclient/go.mod index e338f5c..9746e7c 100644 --- a/examples/upload/uploadclient/go.mod +++ b/examples/upload/uploadclient/go.mod @@ -1,12 +1,12 @@ module uploadclient -go 1.22.0 +go 1.24 -toolchain go1.22.3 +toolchain go1.24.3 -replace github.com/imroc/req/v3 => ../../../ +replace github.com/0xobjc/req/v3 => ../../../ -require github.com/imroc/req/v3 v3.0.0 +require github.com/0xobjc/req/v3 v3.0.0 require ( github.com/cheekybits/genny v1.0.0 // indirect @@ -22,11 +22,11 @@ require ( github.com/marten-seemann/qtls-go1-19 v0.1.0 // indirect github.com/nxadm/tail v1.4.8 // indirect github.com/onsi/ginkgo v1.16.5 // indirect - golang.org/x/crypto v0.29.0 // indirect - golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.31.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/text v0.20.0 // indirect - golang.org/x/tools v0.27.0 // indirect + golang.org/x/crypto v0.39.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.26.0 // indirect + golang.org/x/tools v0.34.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect ) diff --git a/examples/upload/uploadclient/go.sum b/examples/upload/uploadclient/go.sum index b445b36..fcee01b 100644 --- a/examples/upload/uploadclient/go.sum +++ b/examples/upload/uploadclient/go.sum @@ -172,6 +172,7 @@ golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98y golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -184,6 +185,7 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -214,6 +216,7 @@ golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -258,6 +261,7 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -272,6 +276,7 @@ golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -290,6 +295,7 @@ golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg= golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/examples/upload/uploadclient/main.go b/examples/upload/uploadclient/main.go index d9c8fd3..8cdf898 100644 --- a/examples/upload/uploadclient/main.go +++ b/examples/upload/uploadclient/main.go @@ -1,7 +1,7 @@ package main import ( - "github.com/imroc/req/v3" + "github.com/0xobjc/req/v3" ) func main() { diff --git a/examples/uploadcallback/uploadclient/go.mod b/examples/uploadcallback/uploadclient/go.mod index e338f5c..9746e7c 100644 --- a/examples/uploadcallback/uploadclient/go.mod +++ b/examples/uploadcallback/uploadclient/go.mod @@ -1,12 +1,12 @@ module uploadclient -go 1.22.0 +go 1.24 -toolchain go1.22.3 +toolchain go1.24.3 -replace github.com/imroc/req/v3 => ../../../ +replace github.com/0xobjc/req/v3 => ../../../ -require github.com/imroc/req/v3 v3.0.0 +require github.com/0xobjc/req/v3 v3.0.0 require ( github.com/cheekybits/genny v1.0.0 // indirect @@ -22,11 +22,11 @@ require ( github.com/marten-seemann/qtls-go1-19 v0.1.0 // indirect github.com/nxadm/tail v1.4.8 // indirect github.com/onsi/ginkgo v1.16.5 // indirect - golang.org/x/crypto v0.29.0 // indirect - golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.31.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/text v0.20.0 // indirect - golang.org/x/tools v0.27.0 // indirect + golang.org/x/crypto v0.39.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.41.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.26.0 // indirect + golang.org/x/tools v0.34.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect ) diff --git a/examples/uploadcallback/uploadclient/go.sum b/examples/uploadcallback/uploadclient/go.sum index b445b36..fcee01b 100644 --- a/examples/uploadcallback/uploadclient/go.sum +++ b/examples/uploadcallback/uploadclient/go.sum @@ -172,6 +172,7 @@ golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98y golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -184,6 +185,7 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -214,6 +216,7 @@ golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= +golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -258,6 +261,7 @@ golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -272,6 +276,7 @@ golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -290,6 +295,7 @@ golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg= golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/examples/uploadcallback/uploadclient/main.go b/examples/uploadcallback/uploadclient/main.go index 19dd217..2109b1b 100644 --- a/examples/uploadcallback/uploadclient/main.go +++ b/examples/uploadcallback/uploadclient/main.go @@ -2,9 +2,9 @@ package main import ( "fmt" + "github.com/0xobjc/req/v3" "io" "time" - "github.com/imroc/req/v3" ) type SlowReader struct { diff --git a/go.mod b/go.mod index 8edf92e..163dff8 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/imroc/req/v3 +module github.com/0xobjc/req/v3 go 1.24 diff --git a/header.go b/header.go index 9ded862..e7d2164 100644 --- a/header.go +++ b/header.go @@ -10,7 +10,7 @@ import ( "golang.org/x/net/http/httpguts" - "github.com/imroc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/header" ) var headerNewlineToSpace = strings.NewReplacer("\n", " ", "\r", " ") diff --git a/http.go b/http.go index 61a6367..d7e1deb 100644 --- a/http.go +++ b/http.go @@ -8,7 +8,7 @@ import ( "net/textproto" "strings" - "github.com/imroc/req/v3/internal/ascii" + "github.com/0xobjc/req/v3/internal/ascii" "golang.org/x/net/http/httpguts" "golang.org/x/net/idna" ) diff --git a/http_request.go b/http_request.go index 5816de4..6b0474f 100644 --- a/http_request.go +++ b/http_request.go @@ -7,8 +7,8 @@ import ( "golang.org/x/net/http/httpguts" - "github.com/imroc/req/v3/internal/ascii" - "github.com/imroc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/ascii" + "github.com/0xobjc/req/v3/internal/header" ) // Given a string of the form "host", "host:port", or "[ipv6::address]:port", diff --git a/internal/altsvcutil/altsvcutil.go b/internal/altsvcutil/altsvcutil.go index 84978d7..16af45b 100644 --- a/internal/altsvcutil/altsvcutil.go +++ b/internal/altsvcutil/altsvcutil.go @@ -3,8 +3,8 @@ package altsvcutil import ( "bytes" "fmt" - "github.com/imroc/req/v3/internal/netutil" - "github.com/imroc/req/v3/pkg/altsvc" + "github.com/0xobjc/req/v3/internal/netutil" + "github.com/0xobjc/req/v3/pkg/altsvc" "io" "net" "net/url" diff --git a/internal/altsvcutil/altsvcutil_test.go b/internal/altsvcutil/altsvcutil_test.go index 3cbc001..ead868d 100644 --- a/internal/altsvcutil/altsvcutil_test.go +++ b/internal/altsvcutil/altsvcutil_test.go @@ -1,7 +1,7 @@ package altsvcutil import ( - "github.com/imroc/req/v3/internal/tests" + "github.com/0xobjc/req/v3/internal/tests" "testing" ) diff --git a/internal/charsets/charsets_test.go b/internal/charsets/charsets_test.go index 28cd698..795cf37 100644 --- a/internal/charsets/charsets_test.go +++ b/internal/charsets/charsets_test.go @@ -5,7 +5,7 @@ package charsets import ( - "github.com/imroc/req/v3/internal/tests" + "github.com/0xobjc/req/v3/internal/tests" "os" "runtime" "testing" diff --git a/internal/chunked.go b/internal/chunked.go index dec4ddc..67a6591 100644 --- a/internal/chunked.go +++ b/internal/chunked.go @@ -13,7 +13,7 @@ import ( "bytes" "errors" "fmt" - "github.com/imroc/req/v3/internal/util" + "github.com/0xobjc/req/v3/internal/util" "io" ) @@ -165,10 +165,11 @@ var semi = []byte(";") // removeChunkExtension removes any chunk-extension from p. // For example, -// "0" => "0" -// "0;token" => "0" -// "0;token=val" => "0" -// `0;token="quoted string"` => "0" +// +// "0" => "0" +// "0;token" => "0" +// "0;token=val" => "0" +// `0;token="quoted string"` => "0" func removeChunkExtension(p []byte) ([]byte, error) { p, _, _ = util.CutBytes(p, semi) // TODO: care about exact syntax of chunk extensions? We're diff --git a/internal/godebug/godebug.go b/internal/godebug/godebug.go index f5a0f53..8b5b771 100644 --- a/internal/godebug/godebug.go +++ b/internal/godebug/godebug.go @@ -38,8 +38,8 @@ import ( "sync/atomic" _ "unsafe" // go:linkname - "github.com/imroc/req/v3/internal/bisect" - "github.com/imroc/req/v3/internal/godebugs" + "github.com/0xobjc/req/v3/internal/bisect" + "github.com/0xobjc/req/v3/internal/godebugs" ) // A Setting is a single setting in the $GODEBUG environment variable. diff --git a/internal/http2/frame.go b/internal/http2/frame.go index 23c1093..25c489d 100644 --- a/internal/http2/frame.go +++ b/internal/http2/frame.go @@ -16,8 +16,8 @@ import ( "strings" "sync" - "github.com/imroc/req/v3/http2" - "github.com/imroc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/http2" + "github.com/0xobjc/req/v3/internal/dump" "golang.org/x/net/http/httpguts" "golang.org/x/net/http2/hpack" ) diff --git a/internal/http2/headermap.go b/internal/http2/headermap.go index a8e01cf..6277d7a 100644 --- a/internal/http2/headermap.go +++ b/internal/http2/headermap.go @@ -5,7 +5,7 @@ package http2 import ( - "github.com/imroc/req/v3/internal/ascii" + "github.com/0xobjc/req/v3/internal/ascii" "net/http" "sync" ) diff --git a/internal/http2/transport.go b/internal/http2/transport.go index 3677f19..437cde0 100644 --- a/internal/http2/transport.go +++ b/internal/http2/transport.go @@ -35,15 +35,15 @@ import ( "golang.org/x/net/http2/hpack" "golang.org/x/net/idna" - "github.com/imroc/req/v3/http2" - "github.com/imroc/req/v3/internal/ascii" - "github.com/imroc/req/v3/internal/common" - "github.com/imroc/req/v3/internal/compress" - "github.com/imroc/req/v3/internal/dump" - "github.com/imroc/req/v3/internal/header" - "github.com/imroc/req/v3/internal/netutil" - "github.com/imroc/req/v3/internal/transport" - reqtls "github.com/imroc/req/v3/pkg/tls" + "github.com/0xobjc/req/v3/http2" + "github.com/0xobjc/req/v3/internal/ascii" + "github.com/0xobjc/req/v3/internal/common" + "github.com/0xobjc/req/v3/internal/compress" + "github.com/0xobjc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/netutil" + "github.com/0xobjc/req/v3/internal/transport" + reqtls "github.com/0xobjc/req/v3/pkg/tls" ) const ( diff --git a/internal/http3/client.go b/internal/http3/client.go index aaec15e..255e666 100644 --- a/internal/http3/client.go +++ b/internal/http3/client.go @@ -11,8 +11,8 @@ import ( "net/textproto" "time" - "github.com/imroc/req/v3/internal/dump" - "github.com/imroc/req/v3/internal/transport" + "github.com/0xobjc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/internal/transport" "github.com/quic-go/quic-go" "github.com/quic-go/quic-go/quicvarint" diff --git a/internal/http3/conn.go b/internal/http3/conn.go index ab790f8..bcb4830 100644 --- a/internal/http3/conn.go +++ b/internal/http3/conn.go @@ -13,7 +13,7 @@ import ( "sync/atomic" "time" - "github.com/imroc/req/v3/internal/transport" + "github.com/0xobjc/req/v3/internal/transport" "github.com/quic-go/quic-go" "github.com/quic-go/quic-go/quicvarint" diff --git a/internal/http3/request_writer.go b/internal/http3/request_writer.go index 8f2e3a1..e267e05 100644 --- a/internal/http3/request_writer.go +++ b/internal/http3/request_writer.go @@ -12,8 +12,8 @@ import ( "strings" "sync" - "github.com/imroc/req/v3/internal/dump" - reqheader "github.com/imroc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/dump" + reqheader "github.com/0xobjc/req/v3/internal/header" "github.com/quic-go/qpack" "golang.org/x/net/http/httpguts" diff --git a/internal/http3/stream.go b/internal/http3/stream.go index d23ae39..ec4e2bd 100644 --- a/internal/http3/stream.go +++ b/internal/http3/stream.go @@ -9,9 +9,9 @@ import ( "net/http/httptrace" "time" - "github.com/imroc/req/v3/internal/compress" - "github.com/imroc/req/v3/internal/dump" - "github.com/imroc/req/v3/internal/transport" + "github.com/0xobjc/req/v3/internal/compress" + "github.com/0xobjc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/internal/transport" "github.com/quic-go/quic-go" "github.com/quic-go/qpack" diff --git a/internal/http3/transport.go b/internal/http3/transport.go index 04bd331..3a814db 100644 --- a/internal/http3/transport.go +++ b/internal/http3/transport.go @@ -17,7 +17,7 @@ import ( "golang.org/x/net/http/httpguts" - "github.com/imroc/req/v3/internal/transport" + "github.com/0xobjc/req/v3/internal/transport" "github.com/quic-go/quic-go" ) diff --git a/internal/socks/socks_test.go b/internal/socks/socks_test.go index 824a09d..da050da 100644 --- a/internal/socks/socks_test.go +++ b/internal/socks/socks_test.go @@ -3,7 +3,7 @@ package socks import ( "bytes" "context" - "github.com/imroc/req/v3/internal/tests" + "github.com/0xobjc/req/v3/internal/tests" "strings" "testing" ) diff --git a/internal/transport/option.go b/internal/transport/option.go index d45b51c..f253f1e 100644 --- a/internal/transport/option.go +++ b/internal/transport/option.go @@ -8,7 +8,7 @@ import ( "net/url" "time" - "github.com/imroc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/internal/dump" ) // Options is transport's options. diff --git a/logger_test.go b/logger_test.go index 8a456da..bd6eaf8 100644 --- a/logger_test.go +++ b/logger_test.go @@ -5,7 +5,7 @@ import ( "log" "testing" - "github.com/imroc/req/v3/internal/tests" + "github.com/0xobjc/req/v3/internal/tests" ) func TestLogger(t *testing.T) { diff --git a/middleware.go b/middleware.go index c3a7dba..d4c4999 100644 --- a/middleware.go +++ b/middleware.go @@ -14,8 +14,8 @@ import ( "strings" "time" - "github.com/imroc/req/v3/internal/header" - "github.com/imroc/req/v3/internal/util" + "github.com/0xobjc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/util" ) type ( diff --git a/req_test.go b/req_test.go index 9942bcb..57ffcf8 100644 --- a/req_test.go +++ b/req_test.go @@ -18,8 +18,8 @@ import ( "testing" "unsafe" - "github.com/imroc/req/v3/internal/header" - "github.com/imroc/req/v3/internal/tests" + "github.com/0xobjc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/tests" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" ) diff --git a/request.go b/request.go index d950477..31dc0c2 100644 --- a/request.go +++ b/request.go @@ -16,9 +16,9 @@ import ( "github.com/hashicorp/go-multierror" - "github.com/imroc/req/v3/internal/dump" - "github.com/imroc/req/v3/internal/header" - "github.com/imroc/req/v3/internal/util" + "github.com/0xobjc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/util" ) // Request struct is used to compose and fire individual request from diff --git a/request_test.go b/request_test.go index 0275980..310d35c 100644 --- a/request_test.go +++ b/request_test.go @@ -14,8 +14,8 @@ import ( "testing" "time" - "github.com/imroc/req/v3/internal/header" - "github.com/imroc/req/v3/internal/tests" + "github.com/0xobjc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/tests" ) func TestMustSendMethods(t *testing.T) { diff --git a/response.go b/response.go index 0c17619..195223a 100644 --- a/response.go +++ b/response.go @@ -6,8 +6,8 @@ import ( "strings" "time" - "github.com/imroc/req/v3/internal/header" - "github.com/imroc/req/v3/internal/util" + "github.com/0xobjc/req/v3/internal/header" + "github.com/0xobjc/req/v3/internal/util" ) // Response is the http response. diff --git a/retry_test.go b/retry_test.go index 5814b5f..1b72b33 100644 --- a/retry_test.go +++ b/retry_test.go @@ -8,7 +8,7 @@ import ( "testing" "time" - "github.com/imroc/req/v3/internal/tests" + "github.com/0xobjc/req/v3/internal/tests" ) func TestRetryBackOff(t *testing.T) { diff --git a/roundtrip_js.go b/roundtrip_js.go index 958d9a4..39f95d4 100644 --- a/roundtrip_js.go +++ b/roundtrip_js.go @@ -15,7 +15,7 @@ import ( "strings" "syscall/js" - "github.com/imroc/req/v3/internal/ascii" + "github.com/0xobjc/req/v3/internal/ascii" ) var uint8Array = js.Global().Get("Uint8Array") diff --git a/textproto_reader.go b/textproto_reader.go index 1c09872..5aedaf2 100644 --- a/textproto_reader.go +++ b/textproto_reader.go @@ -13,7 +13,7 @@ import ( "net/textproto" "sync" - "github.com/imroc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/internal/dump" ) func isASCIILetter(b byte) bool { diff --git a/transfer.go b/transfer.go index 3ff04e5..13884ce 100644 --- a/transfer.go +++ b/transfer.go @@ -19,10 +19,10 @@ import ( "sync" "time" - "github.com/imroc/req/v3/internal" - "github.com/imroc/req/v3/internal/ascii" - "github.com/imroc/req/v3/internal/dump" - "github.com/imroc/req/v3/internal/godebug" + "github.com/0xobjc/req/v3/internal" + "github.com/0xobjc/req/v3/internal/ascii" + "github.com/0xobjc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/internal/godebug" "golang.org/x/net/http/httpguts" ) diff --git a/transport.go b/transport.go index ab6be72..9cdb4e3 100644 --- a/transport.go +++ b/transport.go @@ -32,21 +32,21 @@ import ( "time" _ "unsafe" - "github.com/imroc/req/v3/http2" - "github.com/imroc/req/v3/internal/altsvcutil" - "github.com/imroc/req/v3/internal/ascii" - "github.com/imroc/req/v3/internal/common" - "github.com/imroc/req/v3/internal/compress" - "github.com/imroc/req/v3/internal/dump" - "github.com/imroc/req/v3/internal/header" - h2internal "github.com/imroc/req/v3/internal/http2" - "github.com/imroc/req/v3/internal/http3" - "github.com/imroc/req/v3/internal/netutil" - "github.com/imroc/req/v3/internal/socks" - "github.com/imroc/req/v3/internal/transport" - "github.com/imroc/req/v3/internal/util" - "github.com/imroc/req/v3/pkg/altsvc" - reqtls "github.com/imroc/req/v3/pkg/tls" + "github.com/0xobjc/req/v3/http2" + "github.com/0xobjc/req/v3/internal/altsvcutil" + "github.com/0xobjc/req/v3/internal/ascii" + "github.com/0xobjc/req/v3/internal/common" + "github.com/0xobjc/req/v3/internal/compress" + "github.com/0xobjc/req/v3/internal/dump" + "github.com/0xobjc/req/v3/internal/header" + h2internal "github.com/0xobjc/req/v3/internal/http2" + "github.com/0xobjc/req/v3/internal/http3" + "github.com/0xobjc/req/v3/internal/netutil" + "github.com/0xobjc/req/v3/internal/socks" + "github.com/0xobjc/req/v3/internal/transport" + "github.com/0xobjc/req/v3/internal/util" + "github.com/0xobjc/req/v3/pkg/altsvc" + reqtls "github.com/0xobjc/req/v3/pkg/tls" htmlcharset "golang.org/x/net/html/charset" "golang.org/x/text/encoding/ianaindex"