{"id":3603083,"name":"github.com/gorilla/WebSocket","ecosystem":"go","description":"Package websocket implements the WebSocket protocol defined in RFC 6455.\n\nThe Conn type represents a WebSocket connection. A server application calls\nthe Upgrader.Upgrade method from an HTTP request handler to get a *Conn:\n\nCall the connection's WriteMessage and ReadMessage methods to send and\nreceive messages as a slice of bytes. This snippet of code shows how to echo\nmessages using these methods:\n\nIn above snippet of code, p is a []byte and messageType is an int with value\nwebsocket.BinaryMessage or websocket.TextMessage.\n\nAn application can also send and receive messages using the io.WriteCloser\nand io.Reader interfaces. To send a message, call the connection NextWriter\nmethod to get an io.WriteCloser, write the message to the writer and close\nthe writer when done. To receive a message, call the connection NextReader\nmethod to get an io.Reader and read until io.EOF is returned. This snippet\nshows how to echo messages using the NextWriter and NextReader methods:\n\nThe WebSocket protocol distinguishes between text and binary data messages.\nText messages are interpreted as UTF-8 encoded text. The interpretation of\nbinary messages is left to the application.\n\nThis package uses the TextMessage and BinaryMessage integer constants to\nidentify the two data message types. The ReadMessage and NextReader methods\nreturn the type of the received message. The messageType argument to the\nWriteMessage and NextWriter methods specifies the type of a sent message.\n\nIt is the application's responsibility to ensure that text messages are\nvalid UTF-8 encoded text.\n\nThe WebSocket protocol defines three types of control messages: close, ping\nand pong. Call the connection WriteControl, WriteMessage or NextWriter\nmethods to send a control message to the peer.\n\nConnections handle received close messages by calling the handler function\nset with the SetCloseHandler method and by returning a *CloseError from the\nNextReader, ReadMessage or the message Read method. The default close\nhandler sends a close message to the peer.\n\nConnections handle received ping messages by calling the handler function\nset with the SetPingHandler method. The default ping handler sends a pong\nmessage to the peer.\n\nConnections handle received pong messages by calling the handler function\nset with the SetPongHandler method. The default pong handler does nothing.\nIf an application sends ping messages, then the application should set a\npong handler to receive the corresponding pong.\n\nThe control message handler functions are called from the NextReader,\nReadMessage and message reader Read methods. The default close and ping\nhandlers can block these methods for a short time when the handler writes to\nthe connection.\n\nThe application must read the connection to process close, ping and pong\nmessages sent from the peer. If the application is not otherwise interested\nin messages from the peer, then the application should start a goroutine to\nread and discard messages from the peer. A simple example is:\n\nConnections support one concurrent reader and one concurrent writer.\n\nApplications are responsible for ensuring that no more than one goroutine\ncalls the write methods (NextWriter, SetWriteDeadline, WriteMessage,\nWriteJSON, EnableWriteCompression, SetCompressionLevel) concurrently and\nthat no more than one goroutine calls the read methods (NextReader,\nSetReadDeadline, ReadMessage, ReadJSON, SetPongHandler, SetPingHandler)\nconcurrently.\n\nThe Close and WriteControl methods can be called concurrently with all other\nmethods.\n\nWeb browsers allow Javascript applications to open a WebSocket connection to\nany host. It's up to the server to enforce an origin policy using the Origin\nrequest header sent by the browser.\n\nThe Upgrader calls the function specified in the CheckOrigin field to check\nthe origin. If the CheckOrigin function returns false, then the Upgrade\nmethod fails the WebSocket handshake with HTTP status 403.\n\nIf the CheckOrigin field is nil, then the Upgrader uses a safe default: fail\nthe handshake if the Origin request header is present and the Origin host is\nnot equal to the Host request header.\n\nThe deprecated package-level Upgrade function does not perform origin\nchecking. The application is responsible for checking the Origin header\nbefore calling the Upgrade function.\n\nPer message compression extensions (RFC 7692) are experimentally supported\nby this package in a limited capacity. Setting the EnableCompression option\nto true in Dialer or Upgrader will attempt to negotiate per message deflate\nsupport.\n\nIf compression was successfully negotiated with the connection's peer, any\nmessage received in compressed form will be automatically decompressed.\nAll Read methods will return uncompressed bytes.\n\nPer message compression of messages written to a connection can be enabled\nor disabled by calling the corresponding Conn method:\n\nCurrently this package does not support compression with \"context takeover\".\nThis means that messages must be compressed and decompressed in isolation,\nwithout retaining sliding window or dictionary state across messages. For\nmore details refer to RFC 7692.\n\nUse of compression is experimental and may result in decreased performance.","homepage":"https://github.com/gorilla/WebSocket","licenses":"BSD-2-Clause","normalized_licenses":["BSD-2-Clause"],"repository_url":"https://github.com/gorilla/WebSocket","keywords_array":[],"namespace":"github.com/gorilla","versions_count":11,"first_release_published_at":"2016-04-28T16:34:18.000Z","latest_release_published_at":"2024-06-14T03:18:03.000Z","latest_release_number":"v1.5.3","last_synced_at":"2026-05-19T12:30:42.815Z","created_at":"2022-04-11T06:24:30.624Z","updated_at":"2026-05-19T12:30:42.815Z","registry_url":"https://pkg.go.dev/github.com/gorilla/WebSocket","install_command":"go get github.com/gorilla/WebSocket","documentation_url":"https://pkg.go.dev/github.com/gorilla/WebSocket#section-documentation","metadata":{},"repo_metadata":{"id":11231770,"uuid":"13624859","full_name":"gorilla/websocket","owner":"gorilla","description":"Package gorilla/websocket is a fast, well-tested and widely used WebSocket implementation for Go.","archived":false,"fork":false,"pushed_at":"2025-03-19T13:29:08.000Z","size":436,"stargazers_count":24191,"open_issues_count":65,"forks_count":3572,"subscribers_count":372,"default_branch":"main","last_synced_at":"2025-10-30T18:15:51.436Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","websocket","websockets"],"latest_commit_sha":null,"homepage":"https://gorilla.github.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gorilla.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,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-10-16T16:41:46.000Z","updated_at":"2025-10-30T13:04:52.000Z","dependencies_parsed_at":"2023-11-13T01:38:25.641Z","dependency_job_id":"2b211a6a-6315-42fb-a8b3-4cda053018c1","html_url":"https://github.com/gorilla/websocket","commit_stats":{"total_commits":330,"total_committers":104,"mean_commits":3.173076923076923,"dds":0.5393939393939393,"last_synced_commit":"5e002381133d322c5f1305d171f3bdd07decf229"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/websocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/sbom","scorecard":{"id":441615,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/websocket","commit":"e064f32e3674d9d79a8fd417b5bc06fa5c6cad8f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":9,"reason":"Found 20/22 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 2-Clause \"Simplified\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/gorilla/.github/SECURITY.md:1","Info: Found linked content: github.com/gorilla/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/gorilla/.github/SECURITY.md:1","Info: Found text in security policy: github.com/gorilla/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T05:42:44.918Z","repository_id":11231770,"created_at":"2025-08-19T05:42:44.918Z","updated_at":"2025-08-19T05:42:44.918Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281857696,"owners_count":26573931,"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","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"},"owner_record":{"login":"gorilla","name":"Gorilla web toolkit","uuid":"489566","kind":"organization","description":"Gorilla is a web toolkit for the Go programming language that provides useful, composable packages for writing HTTP-based applications.","email":"gorilla-maintainers@googlegroups.com","website":"https://gorilla.github.io","location":"The World","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/489566?v=4","repositories_count":19,"last_synced_at":"2024-04-17T16:08:12.006Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/gorilla","funding_links":[],"total_stars":51011,"followers":1339,"following":0,"created_at":"2022-11-04T06:25:02.781Z","updated_at":"2024-04-17T16:08:13.533Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla/repositories"},"tags":[{"name":"v1.5.3","sha":"ce903f6d1d961af3a8602f2842c8b1c3fca58c4d","kind":"commit","published_at":"2024-06-14T03:18:03.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.5.3","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.5.3/manifests"},{"name":"v1.5.2","sha":"1bddf2e0dba6f35492b0f5614905b291cd0ab88d","kind":"commit","published_at":"2024-05-01T13:21:54.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.5.2","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.5.2/manifests"},{"name":"v1.5.1","sha":"ac0789be11725ab2285233e9a3800c2312cff4fc","kind":"commit","published_at":"2023-10-18T12:27:41.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.5.1","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.5.1/manifests"},{"name":"v1.5.0","sha":"9111bb834a68b893cebbbaed5060bdbc1d9ab7d2","kind":"commit","published_at":"2022-01-04T01:59:52.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.5.0","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.5.0/manifests"},{"name":"v1.4.2","sha":"b65e62901fc1c0d968042419e74789f6af455eb9","kind":"commit","published_at":"2020-03-19T17:50:51.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.4.2","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"c3e18be99d19e6b3e8f1559eea2c161a665c4b6b","kind":"commit","published_at":"2019-08-25T01:20:11.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.4.1","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"66b9c49e59c6c48f0ffce28c2d8b8a5678502c6d","kind":"commit","published_at":"2018-08-25T15:15:06.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.4.0","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"3ff3320c2a1756a3691521efc290b4701575147c","kind":"commit","published_at":"2018-08-16T22:18:03.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.3.0","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"ea4d1f681babbce9545c9c5f3d5194a789c89f5b","kind":"commit","published_at":"2017-06-20T19:01:03.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.2.0","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"3ab3a8b8831546bd18fd182c20687ca853b2bb13","kind":"commit","published_at":"2016-12-16T23:41:18.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.1.0","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"1f512fc3f05332ba7117626cdfb4e07474e58e60","kind":"commit","published_at":"2016-04-28T16:34:18.000Z","download_url":"https://codeload.github.com/gorilla/websocket/tar.gz/v1.0.0","html_url":"https://github.com/gorilla/websocket/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/websocket@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2025-10-30T18:28:34.705Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.345852080216646,"dependent_packages_count":6.999148183520997,"stargazers_count":0.38101672545584525,"forks_count":0.04657494582155399,"average":4.193147983753761},"purl":"pkg:golang/github.com/gorilla/%21web%21socket","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/gorilla/WebSocket","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/gorilla/WebSocket","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/gorilla/WebSocket/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-23T04:56:08.475Z","issues_count":196,"pull_requests_count":178,"avg_time_to_close_issue":13722615.806666667,"avg_time_to_close_pull_request":5044299.456521739,"issues_closed_count":150,"pull_requests_closed_count":138,"pull_request_authors_count":86,"issue_authors_count":174,"avg_comments_per_issue":3.760204081632653,"avg_comments_per_pull_request":2.00561797752809,"merged_pull_requests_count":71,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":14,"past_year_pull_requests_count":31,"past_year_avg_time_to_close_issue":517445.0,"past_year_avg_time_to_close_pull_request":319620.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":18,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":1.3571428571428572,"past_year_avg_comments_per_pull_request":0.9032258064516129,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fwebsocket/issues","maintainers":[{"login":"apoorvajagtap","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/apoorvajagtap"},{"login":"coreydaley","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"garyburd","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/garyburd"},{"login":"jaitaiwan","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jaitaiwan"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FWebSocket/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FWebSocket/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FWebSocket/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FWebSocket/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FWebSocket/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FWebSocket/codemeta","maintainers":[]}