mirror of
https://github.com/yusing/godoxy.git
synced 2026-04-25 02:09:01 +02:00
refactor(websocket): enable compression for WebSocket connections to improve performance, removed buffer size to use HTTP buffer
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package websocket
|
package websocket
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"compress/flate"
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
@@ -33,8 +34,6 @@ type Manager struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var defaultUpgrader = websocket.Upgrader{
|
var defaultUpgrader = websocket.Upgrader{
|
||||||
ReadBufferSize: 4096,
|
|
||||||
WriteBufferSize: 4096,
|
|
||||||
CheckOrigin: func(r *http.Request) bool {
|
CheckOrigin: func(r *http.Request) bool {
|
||||||
origin := r.Header.Get("Origin")
|
origin := r.Header.Get("Origin")
|
||||||
if origin == "" {
|
if origin == "" {
|
||||||
@@ -58,6 +57,7 @@ var defaultUpgrader = websocket.Upgrader{
|
|||||||
reqHost = strings.ToLower(reqHost)
|
reqHost = strings.ToLower(reqHost)
|
||||||
return originHost == reqHost
|
return originHost == reqHost
|
||||||
},
|
},
|
||||||
|
EnableCompression: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -86,6 +86,9 @@ func NewManagerWithUpgrade(c *gin.Context) (*Manager, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
conn.EnableWriteCompression(true)
|
||||||
|
_ = conn.SetCompressionLevel(flate.BestSpeed)
|
||||||
|
|
||||||
ctx, cancel := context.WithCancel(c.Request.Context())
|
ctx, cancel := context.WithCancel(c.Request.Context())
|
||||||
cm := &Manager{
|
cm := &Manager{
|
||||||
conn: conn,
|
conn: conn,
|
||||||
|
|||||||
Reference in New Issue
Block a user