支持 js websocket

This commit is contained in:
dragon
2025-11-19 15:56:32 +08:00
parent 268f21c2af
commit 043b00bbb7
25 changed files with 617 additions and 69 deletions

View File

@@ -1,6 +1,12 @@
package utils
import "net/http"
import (
"bufio"
"net"
"net/http"
"github.com/pkg/errors"
)
type WrittenResponseWriter struct {
write bool
@@ -18,6 +24,14 @@ func (w *WrittenResponseWriter) Header() http.Header {
return w.base.Header()
}
func (w *WrittenResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) {
w.write = true
if hijacker, ok := w.base.(http.Hijacker); ok {
return hijacker.Hijack()
}
return nil, nil, errors.New("not hijackable")
}
func (w *WrittenResponseWriter) Write(b []byte) (int, error) {
w.write = true
return w.base.Write(b)