mrproliu commented on code in PR #188:
URL: https://github.com/apache/skywalking-go/pull/188#discussion_r1675858475


##########
plugins/mux/serve_interceptor.go:
##########
@@ -58,8 +61,23 @@ func (n *ServeHTTPInterceptor) AfterInvoke(invocation 
operator.Invocation, resul
        return nil
 }
 
+func newWriterWrapper(rw interface{}) (*writerWrapper, error) {
+       writer := rw.(http.ResponseWriter)
+       hijacker, ok := rw.(http.Hijacker)
+       if !ok {
+               return nil, fmt.Errorf("http.ResponseWriter does not implement 
http.Hijacker")

Review Comment:
   A simple way is to let the wrapper implement the Hijack interface, and If 
the original writer implements the Hijack, you can call the original method. 
   Another way is you can create two wrappers, if the case fails, use the 
current code. otherwise, you create a new write with the Hijack interface. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to