@@ -30,20 +30,23 @@ func (p *passthroughFilterFactory) Create(handle shared.HttpFilterHandle) shared
3030 return & passthroughFilter {handle : handle }
3131}
3232
33+ // OnDestroy implements [shared.HttpFilterFactory].
34+ func (p * passthroughFilterFactory ) OnDestroy () {}
35+
3336// OnRequestHeaders implements [shared.HttpFilter].
3437func (p * passthroughFilter ) OnRequestHeaders (headers shared.HeaderMap , endOfStream bool ) shared.HeadersStatus {
3538 fooValue := headers .GetOne ("foo" )
36- fmt .Printf ("gosdk: RequestHeaders, foo: %v\n " , fooValue )
39+ fmt .Printf ("gosdk: RequestHeaders, foo: %v\n " , fooValue . ToString () )
3740 fmt .Printf ("gosdk: RequestHeaders, endOfStream: %v\n " , endOfStream )
3841 for _ , header := range headers .GetAll () {
39- fmt .Printf ("gosdk: RequestHeaders, header: %s: %s\n " , header [0 ], header [1 ])
42+ fmt .Printf ("gosdk: RequestHeaders, header: %s: %s\n " , header [0 ]. ToString () , header [1 ]. ToString () )
4043 }
4144 sourceAddr , _ := p .handle .GetAttributeString (shared .AttributeIDSourceAddress )
4245 destAddr , _ := p .handle .GetAttributeString (shared .AttributeIDDestinationAddress )
4346 protocol , _ := p .handle .GetAttributeString (shared .AttributeIDRequestProtocol )
44- fmt .Printf ("gosdk: RequestHeaders, source address: %s\n " , sourceAddr )
45- fmt .Printf ("gosdk: RequestHeaders, destination address: %s\n " , destAddr )
46- fmt .Printf ("gosdk: RequestHeaders, request protocol: %s\n " , protocol )
47+ fmt .Printf ("gosdk: RequestHeaders, source address: %s\n " , sourceAddr . ToString () )
48+ fmt .Printf ("gosdk: RequestHeaders, destination address: %s\n " , destAddr . ToString () )
49+ fmt .Printf ("gosdk: RequestHeaders, request protocol: %s\n " , protocol . ToString () )
4750 return shared .HeadersStatusContinue
4851}
4952
@@ -57,15 +60,15 @@ func (p *passthroughFilter) OnRequestBody(body shared.BodyBuffer, endOfStream bo
5760 chunks := body .GetChunks ()
5861 var original []byte
5962 for _ , chunk := range chunks {
60- original = append (original , chunk ... )
63+ original = append (original , chunk .ToBytes () . .. )
6164 }
6265 fmt .Printf ("gosdk: RequestBody, body: %s\n " , original )
6366 body .Drain (uint64 (len (original )))
6467 body .Append ([]byte ("hello world" ))
6568 chunks = body .GetChunks ()
6669 var modified []byte
6770 for _ , chunk := range chunks {
68- modified = append (modified , chunk ... )
71+ modified = append (modified , chunk .ToBytes () . .. )
6972 }
7073 if string (modified ) != "hello world" {
7174 panic ("request body should be modified" )
@@ -77,7 +80,7 @@ func (p *passthroughFilter) OnRequestBody(body shared.BodyBuffer, endOfStream bo
7780 chunks = body .GetChunks ()
7881 modified = nil
7982 for _ , chunk := range chunks {
80- modified = append (modified , chunk ... )
83+ modified = append (modified , chunk .ToBytes () . .. )
8184 }
8285 if string (modified ) != string (original ) {
8386 panic ("request body should be modified" )
@@ -88,13 +91,13 @@ func (p *passthroughFilter) OnRequestBody(body shared.BodyBuffer, endOfStream bo
8891// OnResponseHeaders implements [shared.HttpFilter].
8992func (p * passthroughFilter ) OnResponseHeaders (headers shared.HeaderMap , endOfStream bool ) shared.HeadersStatus {
9093 status := headers .GetOne (":status" )
91- if status == "" {
94+ if status . Len == 0 {
9295 panic ("x-status header should be set" )
9396 }
94- fmt .Printf ("gosdk: ResponseHeaders, status: %v\n " , status )
97+ fmt .Printf ("gosdk: ResponseHeaders, status: %v\n " , status . ToString () )
9598 headers .Set ("x-passthrough-response-header" , "true" )
9699 for _ , header := range headers .GetAll () {
97- fmt .Printf ("gosdk: ResponseHeaders, header: %s: %s\n " , header [0 ], header [1 ])
100+ fmt .Printf ("gosdk: ResponseHeaders, header: %s: %s\n " , header [0 ]. ToString () , header [1 ]. ToString () )
98101 }
99102 return shared .HeadersStatusContinue
100103}
@@ -109,15 +112,15 @@ func (p *passthroughFilter) OnResponseBody(body shared.BodyBuffer, endOfStream b
109112 chunks := body .GetChunks ()
110113 var original []byte
111114 for _ , chunk := range chunks {
112- original = append (original , chunk ... )
115+ original = append (original , chunk .ToBytes () . .. )
113116 }
114117 fmt .Printf ("gosdk: ResponseBody, body: %s\n " , original )
115118 body .Drain (uint64 (len (original )))
116119 body .Append ([]byte ("hello world" ))
117120 chunks = body .GetChunks ()
118121 var modified []byte
119122 for _ , chunk := range chunks {
120- modified = append (modified , chunk ... )
123+ modified = append (modified , chunk .ToBytes () . .. )
121124 }
122125 if string (modified ) != "hello world" {
123126 panic ("response body should be modified" )
@@ -128,7 +131,7 @@ func (p *passthroughFilter) OnResponseBody(body shared.BodyBuffer, endOfStream b
128131 chunks = body .GetChunks ()
129132 modified = nil
130133 for _ , chunk := range chunks {
131- modified = append (modified , chunk ... )
134+ modified = append (modified , chunk .ToBytes () . .. )
132135 }
133136 if string (modified ) != string (original ) {
134137 panic ("response body should be modified" )
0 commit comments