{"id":27241556,"url":"https://github.com/ejscunha/tortoise_websocket","last_synced_at":"2026-04-24T20:04:07.534Z","repository":{"id":200617875,"uuid":"189254402","full_name":"ejscunha/tortoise_websocket","owner":"ejscunha","description":"Tortoise Websocket transport","archived":false,"fork":false,"pushed_at":"2019-08-21T13:03:07.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T20:19:02.111Z","etag":null,"topics":["elixir","mqtt","tortoise","websockets"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ejscunha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-05-29T15:41:32.000Z","updated_at":"2019-08-21T13:03:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"f71ff837-e4a8-43d0-a6b1-d08f170a76da","html_url":"https://github.com/ejscunha/tortoise_websocket","commit_stats":null,"previous_names":["ejscunha/tortoise_websocket"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ejscunha/tortoise_websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejscunha%2Ftortoise_websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejscunha%2Ftortoise_websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejscunha%2Ftortoise_websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejscunha%2Ftortoise_websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ejscunha","download_url":"https://codeload.github.com/ejscunha/tortoise_websocket/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejscunha%2Ftortoise_websocket/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262639131,"owners_count":23341430,"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":["elixir","mqtt","tortoise","websockets"],"created_at":"2025-04-10T19:57:42.782Z","updated_at":"2026-04-24T20:04:02.515Z","avatar_url":"https://github.com/ejscunha.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TortoiseWebsocket\n\nTortoise Websocket transport, the websocket client is based on [gun](https://github.com/ninenines/gun).\n\n## Installation\n\nThe package can be installed by adding `tortoise_websocket` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:tortoise, \"~\u003e 0.9\"},\n    {:tortoise_websocket, \"~\u003e 0.1.0\"}\n  ]\nend\n```\n\n## Usage\n\nTo connect to a MQTT server using websockets you need to do the following:\n\n```elixir\nTortoise.Supervisor.start_child(\n    client_id: \"my_client_id\",\n    handler: {Tortoise.Handler.Logger, []},\n    server: {Tortoise.Transport.Websocket, host: 'localhost', port: 80},\n    subscriptions: [{\"foo/bar\", 0}])\n```\n\nBesides `:host` and `:port` options you can set the following optional options:\n\n* `:transport` - An atom with the transport protocol, either `:tcp` or `:tls`, defaults to `:tcp`\n* `:path` - A string with the websocket server path, defaults to `\"/\"`\n* `:headers` - A list of tuples with the HTTP headers to send to the server, defaults to `[]`\n* `:active` - A boolean or atom to indicate if the client should send back any received data, it can be `true`, `false` and `:once`, defaults to `false`\n* `:compress` - A boolean to indicate if the data should be compressed, defaults to `true`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fejscunha%2Ftortoise_websocket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fejscunha%2Ftortoise_websocket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fejscunha%2Ftortoise_websocket/lists"}