websocketproxy

WebSocket reverse proxy handler for Go

  • Owner: koding/websocketproxy
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

WebsocketProxy GoDoc Build Status

WebsocketProxy is an http.Handler interface build on top of
gorilla/websocket that you can plug
into your existing Go webserver to provide WebSocket reverse proxy.

Install

go get github.com/koding/websocketproxy

Example

Below is a simple server that proxies to the given backend URL

package main

import (
	"flag"
	"net/http"
	"net/url"

	"github.com/koding/websocketproxy"
)

var (
	flagBackend = flag.String("backend", "", "Backend URL for proxying")
)

func main() {
	u, err := url.Parse(*flagBackend)
	if err != nil {
		log.Fatalln(err)
	}

	err = http.ListenAndServe(":80", websocketproxy.NewProxy(u))
	if err != nil {
		log.Fatalln(err)
	}
}

Save it as proxy.go and run as:

go run proxy.go -backend ws://example.com:3000

Now all incoming WebSocket requests coming to this server will be proxied to
ws://example.com:3000

Main metrics

Overview
Name With Ownerkoding/websocketproxy
Primary LanguageGo
Program languageGo (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2014-06-06 03:15:26
Pushed At2023-08-16 07:18:00
Last Commit At2018-12-21 00:21:14
Release Count0
用户参与
Stargazers Count434
Watchers Count18
Fork Count122
Commits Count57
Has Issues Enabled
Issues Count16
Issue Open Count10
Pull Requests Count11
Pull Requests Open Count12
Pull Requests Close Count10
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private