upgrader.go 681 B

12345678910111213141516171819202122232425
  1. package gobwas
  2. import (
  3. "net/http"
  4. "github.com/kataras/neffos"
  5. gobwas "github.com/gobwas/ws"
  6. )
  7. // DefaultUpgrader is a gobwas/ws HTTP Upgrader with all fields set to the default values.
  8. var DefaultUpgrader = Upgrader(gobwas.HTTPUpgrader{})
  9. // Upgrader is a `neffos.Upgrader` type for the gobwas/ws subprotocol implementation.
  10. // Should be used on `neffos.New` to construct the neffos server.
  11. func Upgrader(upgrader gobwas.HTTPUpgrader) neffos.Upgrader {
  12. return func(w http.ResponseWriter, r *http.Request) (neffos.Socket, error) {
  13. underline, _, _, err := upgrader.Upgrade(r, w)
  14. if err != nil {
  15. return nil, err
  16. }
  17. return newSocket(underline, r, false), nil
  18. }
  19. }