Skip to content

Commit 03d1a1a

Browse files
Add transport override in mns (#18)
1 parent d1b5875 commit 03d1a1a

File tree

4 files changed

+49
-2
lines changed

4 files changed

+49
-2
lines changed

client.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ const (
5656
type MNSClient interface {
5757
Send(method Method, headers map[string]string, message interface{}, resource string) (*fasthttp.Response, error)
5858
SetProxy(url string)
59-
59+
SetTransport(transport fasthttp.RoundTripper)
6060
getAccountID() (accountId string)
6161
getRegion() (region string)
6262
}
@@ -175,6 +175,13 @@ func (p *aliMNSClient) initFastHttpClient() {
175175
p.client = &fasthttp.Client{ReadTimeout: timeout, WriteTimeout: timeout, Name: ClientName}
176176
}
177177

178+
func (p *aliMNSClient) SetTransport(transport fasthttp.RoundTripper) {
179+
p.client.ConfigureClient = func(hc *fasthttp.HostClient) error {
180+
hc.Transport = transport
181+
return nil
182+
}
183+
}
184+
178185
func (p *aliMNSClient) proxy(req *http.Request) (*neturl.URL, error) {
179186
if p.proxyURL != "" {
180187
return neturl.Parse(p.proxyURL)

go.mod

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
module git.soma.salesforce.com/chameleon/aliyun-mns-go-sdk
2+
3+
go 1.20
4+
5+
require (
6+
github.com/aliyun/aliyun-mns-go-sdk v1.0.2
7+
github.com/gogap/errors v0.0.0-20210818113853-edfbba0ddea9
8+
github.com/gogap/logs v0.0.0-20150329044033-31c6d1e28b2c
9+
github.com/valyala/fasthttp v1.52.0
10+
)
11+
12+
require (
13+
github.com/andybalholm/brotli v1.1.0 // indirect
14+
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 // indirect
15+
github.com/gogap/stack v0.0.0-20150131034635-fef68dddd4f8 // indirect
16+
github.com/klauspost/compress v1.17.6 // indirect
17+
github.com/valyala/bytebufferpool v1.0.0 // indirect
18+
)

go.sum

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
github.com/aliyun/aliyun-mns-go-sdk v1.0.2 h1:dq2AwayUe1QrMXVEGTBhaoQ61UI3cHju+p2Lq3Q+HCc=
2+
github.com/aliyun/aliyun-mns-go-sdk v1.0.2/go.mod h1:eD/mEH7SwtLSwI9p8fP9VTH2cYM3wFSY1WNaxEdLIFU=
3+
github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M=
4+
github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY=
5+
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A=
6+
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg=
7+
github.com/gogap/errors v0.0.0-20210818113853-edfbba0ddea9 h1:qvGIRaCYFKkyFK9SgRXJCc/lmQCeeg2cl3mwBKQd5W0=
8+
github.com/gogap/errors v0.0.0-20210818113853-edfbba0ddea9/go.mod h1:tbRYYYC7g/H7QlCeX0Z2zaThWKowF4QQCFIsGgAsqRo=
9+
github.com/gogap/logs v0.0.0-20150329044033-31c6d1e28b2c h1:Tv0OlEQfruT8rH/BoW2RGrC/RVVzE5n0SMbKBr1spHM=
10+
github.com/gogap/logs v0.0.0-20150329044033-31c6d1e28b2c/go.mod h1:QJ6r1fyvyIC0lwOdQo9Z/AVi9tlemaE7HMGdMbzMQRQ=
11+
github.com/gogap/stack v0.0.0-20150131034635-fef68dddd4f8 h1:AuxION6c7in+AsPmFjQTUKT6/o1suT8XEEpfU0pWsHA=
12+
github.com/gogap/stack v0.0.0-20150131034635-fef68dddd4f8/go.mod h1:6q1WEv2BiAO4FSdwLQTJbWQYAn1/qDNJHUGJNXCj9kM=
13+
github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI=
14+
github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM=
15+
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
16+
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
17+
github.com/valyala/fasthttp v1.52.0 h1:wqBQpxH71XW0e2g+Og4dzQM8pk34aFYlA1Ga8db7gU0=
18+
github.com/valyala/fasthttp v1.52.0/go.mod h1:hf5C4QnVMkNXMspnsUlfM3WitlgYflyhHYoKol/szxQ=

utils.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,14 @@ func send(client MNSClient, decoder MNSDecoder, method Method, headers map[strin
4343
}
4444

4545
if baseResponder, ok := v.(BaseResponder); ok {
46+
hostId := ""
47+
if resp.RemoteAddr() != nil {
48+
hostId = resp.RemoteAddr().String()
49+
}
4650
baseResponder.SetBaseResponse(BaseResponse{
4751
RequestId: string(resp.Header.Peek("x-mns-request-id")),
4852
Code: strconv.Itoa(resp.StatusCode()),
49-
HostId: resp.RemoteAddr().String(),
53+
HostId: hostId,
5054
})
5155
}
5256
}

0 commit comments

Comments
 (0)