Skip to content

Commit

Permalink
fix websocket upgrader
Browse files Browse the repository at this point in the history
  • Loading branch information
markus621 committed Jan 15, 2024
1 parent f71f2a6 commit 2d3c8d3
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 18 deletions.
6 changes: 3 additions & 3 deletions examples/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ replace (

require (
go.osspkg.com/goppy v0.0.0-00010101000000-000000000000
go.osspkg.com/goppy/app v0.3.0
go.osspkg.com/goppy/app v0.3.1
go.osspkg.com/goppy/auth v0.0.0-00010101000000-000000000000
go.osspkg.com/goppy/console v0.3.0
go.osspkg.com/goppy/geoip v0.0.0-00010101000000-000000000000
Expand All @@ -47,13 +47,13 @@ require (
go.osspkg.com/goppy/ormmysql v0.0.0-00010101000000-000000000000
go.osspkg.com/goppy/ormpgsql v0.0.0-00010101000000-000000000000
go.osspkg.com/goppy/ormsqlite v0.0.0-00010101000000-000000000000
go.osspkg.com/goppy/plugins v0.3.0
go.osspkg.com/goppy/plugins v0.3.1
go.osspkg.com/goppy/routine v0.3.0
go.osspkg.com/goppy/syscall v0.3.0
go.osspkg.com/goppy/tcp v0.0.0-00010101000000-000000000000
go.osspkg.com/goppy/udp v0.0.0-00010101000000-000000000000
go.osspkg.com/goppy/unixsocket v0.0.0-00010101000000-000000000000
go.osspkg.com/goppy/web v0.3.0
go.osspkg.com/goppy/web v0.3.1
go.osspkg.com/goppy/ws v0.0.0-00010101000000-000000000000
go.osspkg.com/goppy/xc v0.3.0
go.osspkg.com/goppy/xdns v0.0.0-00010101000000-000000000000
Expand Down
8 changes: 5 additions & 3 deletions ws/internal/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ package internal

import (
"net/http"
"sync"
"time"

"github.com/gorilla/websocket"
Expand All @@ -24,11 +25,12 @@ var (
ErrUnknownEventID = errors.New("unknown event id")
)

func NewUpgrader() websocket.Upgrader {
return websocket.Upgrader{
EnableCompression: true,
func NewUpgrader() *websocket.Upgrader {
return &websocket.Upgrader{
EnableCompression: false,
ReadBufferSize: 1024,
WriteBufferSize: 1024,
WriteBufferPool: &sync.Pool{},
CheckOrigin: func(_ *http.Request) bool {
return true
},
Expand Down
16 changes: 8 additions & 8 deletions ws/plugin_ws_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,19 @@ import (
"go.osspkg.com/goppy/xlog"
)

func WebsocketServerOptionCompression(enable bool) func(websocket.Upgrader) {
return func(upg websocket.Upgrader) {
upg.EnableCompression = enable
func WebsocketServerOptionCompression(enable bool) func(*websocket.Upgrader) {
return func(u *websocket.Upgrader) {
u.EnableCompression = enable
}
}

func WebsocketServerOptionBuffer(read, write int) func(websocket.Upgrader) {
return func(upg websocket.Upgrader) {
upg.ReadBufferSize, upg.WriteBufferSize = read, write
func WebsocketServerOptionBuffer(read, write int) func(*websocket.Upgrader) {
return func(u *websocket.Upgrader) {
u.ReadBufferSize, u.WriteBufferSize = read, write
}
}

func WithWebsocketServer(options ...func(websocket.Upgrader)) plugins.Plugin {
func WithWebsocketServer(options ...func(*websocket.Upgrader)) plugins.Plugin {
return plugins.Plugin{
Inject: func(l xlog.Logger, ctx xc.Context) (*wssProvider, WebsocketServer) {
wsp := newWsServerProvider(l, ctx, options...)
Expand All @@ -55,7 +55,7 @@ type (
}
)

func newWsServerProvider(l xlog.Logger, ctx xc.Context, options ...func(websocket.Upgrader)) *wssProvider {
func newWsServerProvider(l xlog.Logger, ctx xc.Context, options ...func(*websocket.Upgrader)) *wssProvider {
return &wssProvider{
log: l,
serv: server.New(l, ctx.Context(), options...),
Expand Down
4 changes: 2 additions & 2 deletions ws/plugin_ws_server_pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (
"go.osspkg.com/goppy/xlog"
)

func WithWebsocketServerPool(options ...func(websocket.Upgrader)) plugins.Plugin {
func WithWebsocketServerPool(options ...func(*websocket.Upgrader)) plugins.Plugin {
return plugins.Plugin{
Inject: func(l xlog.Logger) WebsocketServerPool {
return &wssPool{
Expand All @@ -30,7 +30,7 @@ func WithWebsocketServerPool(options ...func(websocket.Upgrader)) plugins.Plugin

type (
wssPool struct {
options []func(websocket.Upgrader)
options []func(*websocket.Upgrader)
pool map[string]*server.Server
log xlog.Logger
ctx context.Context
Expand Down
4 changes: 2 additions & 2 deletions ws/server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ import (
type Server struct {
clients map[string]*Connect
events map[event.Id]EventHandler
upgrade websocket.Upgrader
upgrade *websocket.Upgrader
logger xlog.Logger
ctx context.Context
cancel context.CancelFunc
mux iosync.Lock
wg iosync.Group
}

func New(l xlog.Logger, ctx context.Context, opts ...func(u websocket.Upgrader)) *Server {
func New(l xlog.Logger, ctx context.Context, opts ...func(u *websocket.Upgrader)) *Server {
up := internal.NewUpgrader()
c, cancel := context.WithCancel(ctx)
for _, opt := range opts {
Expand Down

0 comments on commit 2d3c8d3

Please sign in to comment.