{"id":13837030,"url":"https://github.com/jcelliott/turnpike","last_synced_at":"2025-04-12T14:47:25.022Z","repository":{"id":8139327,"uuid":"9557956","full_name":"jcelliott/turnpike","owner":"jcelliott","description":"Go implementation of a WAMP (Web Application Messaging Protocol) client and router","archived":false,"fork":false,"pushed_at":"2021-06-29T14:32:39.000Z","size":1615,"stargazers_count":258,"open_issues_count":33,"forks_count":88,"subscribers_count":28,"default_branch":"v2","last_synced_at":"2024-11-20T23:34:22.672Z","etag":null,"topics":["go","wamp-protocol","wamp-router","websockets"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jcelliott.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-04-20T02:08:02.000Z","updated_at":"2024-04-11T16:59:50.000Z","dependencies_parsed_at":"2022-08-28T13:40:07.494Z","dependency_job_id":null,"html_url":"https://github.com/jcelliott/turnpike","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcelliott%2Fturnpike","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcelliott%2Fturnpike/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcelliott%2Fturnpike/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcelliott%2Fturnpike/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jcelliott","download_url":"https://codeload.github.com/jcelliott/turnpike/tar.gz/refs/heads/v2","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248585268,"owners_count":21128974,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","wamp-protocol","wamp-router","websockets"],"created_at":"2024-08-04T15:00:59.582Z","updated_at":"2025-04-12T14:47:25.000Z","avatar_url":"https://github.com/jcelliott.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"Turnpike [![Build Status](https://drone.io/github.com/jcelliott/turnpike/status.png)](https://drone.io/github.com/jcelliott/turnpike/latest) [![Coverage Status](https://coveralls.io/repos/jcelliott/turnpike/badge.svg?branch=v2)](https://coveralls.io/r/jcelliott/turnpike?branch=v2) [![GoDoc](https://godoc.org/gopkg.in/jcelliott/turnpike?status.svg)](http://godoc.org/gopkg.in/jcelliott/turnpike.v2)\n===\n\nGo implementation of [WAMP](http://wamp.ws/) - The Web Application Messaging Protocol\n\n\u003e WAMP (\"The Web Application Messaging Protocol\") is a communication protocol\n\u003e that enables distributed application architectures, with application\n\u003e functionality spread across nodes and all application communication decoupled\n\u003e by messages routed via dedicated WAMP routers.\n\n\u003e At its core, WAMP provides applications with two asynchronous messaging\n\u003e patterns within one unified protocol:\n\u003e * Publish \u0026 Subscribe\n\u003e * Remote Procedure Calls\n\nThis package provides router and client library implementations as well as a\nbasic stand-alone router. The router library can be used to embed a WAMP router\nin another application, or to build a custom router implementation. The client\nlibrary can be used to communicate with any WAMP router.\n\nThis version of Turnpike supports WAMP v2. For WAMP v1 support see the [v1 branch](https://github.com/jcelliott/turnpike/tree/v1).\n\nStatus\n---\n\nTurnpike v2 is still under development, but is getting close to a stable\nrelease. If you have any feedback or suggestions, please\n[open an issue](https://github.com/jcelliott/turnpike/issues/new).\n\nInstallation\n---\n\nLibrary:\n\n    go get -u gopkg.in/jcelliott/turnpike.v2\n\nStand-alone router:\n\n    go get -u gopkg.in/jcelliott/turnpike.v2/turnpike\n\nClient library usage\n---\n\n```go\n// TODO\n```\n\nServer library usage\n---\n\nmain.go:\n```go\npackage main\n\nimport (\n\t\"log\"\n\t\"net/http\"\n\n\t\"gopkg.in/jcelliott/turnpike.v2\"\n)\n\nfunc main() {\n\tturnpike.Debug()\n\ts := turnpike.NewBasicWebsocketServer(\"example.realm\")\n\tserver := \u0026http.Server{\n\t\tHandler: s,\n\t\tAddr:    \":8000\",\n\t}\n\tlog.Println(\"turnpike server starting on port 8000\")\n\tlog.Fatal(server.ListenAndServe())\n}\n```\n\nThis creates a simple WAMP router listening for websocket connections on port\n8000 with a single realm configured.\n\nYou can build it like this:\n\n    go build -o router main.go\n\nWhich will create an executable in your working directory that can be run like\nthis:\n\n    ./router\n\nStand-alone router usage\n---\n\nRun the router with default settings:\n\n    $GOPATH/bin/turnpike\n\nRouter options:\n\n```\nUsage of turnpike:\n  -port int\n        port to run on (default 8000)\n  -realm string\n        realm name (default \"realm1\")\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcelliott%2Fturnpike","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjcelliott%2Fturnpike","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcelliott%2Fturnpike/lists"}