{"id":362603,"url":"https://github.com/gorilla/mux","last_synced_at":"2026-06-21T02:30:30.084Z","repository":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21822,"open_issues_count":38,"forks_count":1885,"subscribers_count":298,"default_branch":"main","last_synced_at":"2026-05-31T14:09:27.913Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2026-05-30T23:02:27.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33912521,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"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":{"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"},"packages":[{"id":13504723,"name":"golang-github-gorilla-mux","ecosystem":"debian","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["golang"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T18:57:20.295Z","latest_release_published_at":"2026-02-10T18:57:20.295Z","latest_release_number":"1.7.4-1","last_synced_at":"2026-03-13T07:40:28.981Z","created_at":"2026-02-10T18:57:20.102Z","updated_at":"2026-03-13T07:40:28.981Z","registry_url":"https://tracker.debian.org/pkg/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":"https://packages.debian.org/bullseye/golang-github-gorilla-mux","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"golang-github-gorilla-mux-dev","standards_version":"4.4.1.1","maintainer":"Debian Go Packaging Team \u003cteam+pkg-go@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 12), dh-golang","build_depends_indep":"golang-any","build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:12:04.051Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/golang-github-gorilla-mux?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"debian-11","url":"https://packages.debian.org/bullseye","ecosystem":"debian","default":false,"packages_count":31268,"maintainers_count":0,"namespaces_count":3,"keywords_count":0,"github":"debian","metadata":{"codename":"bullseye"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-04-27T18:20:39.352Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/namespaces"}},{"id":13645719,"name":"golang-github-gorilla-mux","ecosystem":"debian","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["golang"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T03:16:38.733Z","latest_release_published_at":"2026-02-12T03:16:38.733Z","latest_release_number":"1.8.1-1","last_synced_at":"2026-03-13T10:11:28.252Z","created_at":"2026-02-12T03:16:38.557Z","updated_at":"2026-03-13T10:11:28.252Z","registry_url":"https://tracker.debian.org/pkg/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":"https://packages.debian.org/trixie/golang-github-gorilla-mux","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"golang-github-gorilla-mux-dev","standards_version":"4.6.2","maintainer":"Debian Go Packaging Team \u003cteam+pkg-go@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 13), dh-golang, golang-any","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T03:16:38.810Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/golang-github-gorilla-mux?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-04-27T18:20:39.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}},{"id":3602604,"name":"github.com/gorilla/Mux","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/gorilla/Mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/gorilla/Mux","keywords_array":[],"namespace":"github.com/gorilla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-05-04T01:03:08.636Z","created_at":"2022-04-11T06:21:23.393Z","updated_at":"2026-05-04T01:03:08.636Z","registry_url":"https://pkg.go.dev/github.com/gorilla/Mux","install_command":"go get github.com/gorilla/Mux","documentation_url":"https://pkg.go.dev/github.com/gorilla/Mux#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21636,"open_issues_count":33,"forks_count":1875,"subscribers_count":301,"default_branch":"main","last_synced_at":"2025-10-24T05:02:40.024Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-23T06:45:15.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281140590,"owners_count":26450464,"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-26T02:00:06.575Z","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"},"tags":[{"name":"v1.8.1","sha":"b4617d0b9670ad14039b2739167fd35a60f557c5","kind":"commit","published_at":"2023-10-18T11:23:00.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"98cb6bf42e086f6af920b965c38cacc07402d51b","kind":"commit","published_at":"2020-07-11T20:05:21.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0/manifests"},{"name":"v1.7.4","sha":"75dcda0896e109a2a22c9315bca3bb21b87b2ba5","kind":"commit","published_at":"2020-01-12T19:17:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.4","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4/manifests"},{"name":"v1.7.3","sha":"00bdffe0f3c77e27d2cf6f5c70232a2d3e4d9c15","kind":"commit","published_at":"2019-06-30T04:17:52.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.3","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3/manifests"},{"name":"v1.7.2","sha":"ed099d42384823742bba0bf9a72b53b55c9e2e38","kind":"commit","published_at":"2019-05-17T00:20:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"c5c6c98bc25355028a63748a498942a6398ccd22","kind":"commit","published_at":"2019-03-16T13:32:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"a7962380ca08b5a188038c69871b8d3fbdf31e89","kind":"commit","published_at":"2019-01-25T16:05:53.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"e3702bed27f0d39777b0b37b664b6280e8ef8fbf","kind":"commit","published_at":"2018-05-13T03:22:33.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"53c1911da2b537f792e7cafcb446b05ffe33b996","kind":"commit","published_at":"2018-01-16T17:23:47.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"7f08801859139f86dfafd1c296e2cba9a80d292e","kind":"commit","published_at":"2017-11-05T17:23:20.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"24fca303ac6da784b9e8269f724ddeb0b2eea5e7","kind":"commit","published_at":"2017-09-05T17:10:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.5.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"bcd8bc72b08df0f70df986b97f95590779502d31","kind":"commit","published_at":"2017-05-21T04:50:13.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.4.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"392c28fe23e1c45ddba891b0320b3b5df220beea","kind":"commit","published_at":"2017-01-18T13:43:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.3.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"b12896167c61cb7a17ee5f15c2ba0729d78793db","kind":"commit","published_at":"2017-01-17T07:01:07.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.2.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0/manifests"},{"name":"v1.1","sha":"0eeaf8392f5b04950925b8a69fe70f110fa7cbfc","kind":"commit","published_at":"2016-03-17T21:34:30.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1/manifests"}]},"repo_metadata_updated_at":"2025-10-26T17:29:20.707Z","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.3840469026538741,"forks_count":0.4447626753995625,"average":4.29345246044777},"purl":"pkg:golang/github.com/gorilla/%21mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/gorilla/Mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/gorilla/Mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/gorilla/Mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-14T16:51:39.252Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":13545706,"name":"golang-github-gorilla-mux","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T02:03:05.483Z","latest_release_published_at":"2026-02-11T02:03:05.483Z","latest_release_number":"1.8.0-1","last_synced_at":"2026-03-11T09:04:03.559Z","created_at":"2026-02-11T02:03:05.315Z","updated_at":"2026-03-11T09:04:03.559Z","registry_url":"https://launchpad.net/ubuntu/+source/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"extra","binary":"golang-github-gorilla-mux-dev","standards_version":"4.6.0","maintainer":"Debian Go Packaging Team \u003cteam+pkg-go@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 13), dh-golang","build_depends_indep":"golang-any","build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T14:41:22.993Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/golang-github-gorilla-mux?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-27T18:20:38.741Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":3578747,"name":"github.com/Gorilla/mux","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/Gorilla/mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/Gorilla/mux","keywords_array":[],"namespace":"github.com/Gorilla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-05-10T19:01:32.987Z","created_at":"2022-04-11T03:53:31.677Z","updated_at":"2026-05-10T19:01:32.988Z","registry_url":"https://pkg.go.dev/github.com/Gorilla/mux","install_command":"go get github.com/Gorilla/mux","documentation_url":"https://pkg.go.dev/github.com/Gorilla/mux#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21630,"open_issues_count":33,"forks_count":1875,"subscribers_count":307,"default_branch":"main","last_synced_at":"2025-10-17T00:36:12.830Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-16T20:19:10.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279666898,"owners_count":26207967,"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-18T02:00:06.492Z","response_time":62,"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"},"tags":[{"name":"v1.8.1","sha":"b4617d0b9670ad14039b2739167fd35a60f557c5","kind":"commit","published_at":"2023-10-18T11:23:00.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"98cb6bf42e086f6af920b965c38cacc07402d51b","kind":"commit","published_at":"2020-07-11T20:05:21.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0/manifests"},{"name":"v1.7.4","sha":"75dcda0896e109a2a22c9315bca3bb21b87b2ba5","kind":"commit","published_at":"2020-01-12T19:17:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.4","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4/manifests"},{"name":"v1.7.3","sha":"00bdffe0f3c77e27d2cf6f5c70232a2d3e4d9c15","kind":"commit","published_at":"2019-06-30T04:17:52.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.3","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3/manifests"},{"name":"v1.7.2","sha":"ed099d42384823742bba0bf9a72b53b55c9e2e38","kind":"commit","published_at":"2019-05-17T00:20:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"c5c6c98bc25355028a63748a498942a6398ccd22","kind":"commit","published_at":"2019-03-16T13:32:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"a7962380ca08b5a188038c69871b8d3fbdf31e89","kind":"commit","published_at":"2019-01-25T16:05:53.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"e3702bed27f0d39777b0b37b664b6280e8ef8fbf","kind":"commit","published_at":"2018-05-13T03:22:33.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"53c1911da2b537f792e7cafcb446b05ffe33b996","kind":"commit","published_at":"2018-01-16T17:23:47.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"7f08801859139f86dfafd1c296e2cba9a80d292e","kind":"commit","published_at":"2017-11-05T17:23:20.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"24fca303ac6da784b9e8269f724ddeb0b2eea5e7","kind":"commit","published_at":"2017-09-05T17:10:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.5.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"bcd8bc72b08df0f70df986b97f95590779502d31","kind":"commit","published_at":"2017-05-21T04:50:13.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.4.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"392c28fe23e1c45ddba891b0320b3b5df220beea","kind":"commit","published_at":"2017-01-18T13:43:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.3.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"b12896167c61cb7a17ee5f15c2ba0729d78793db","kind":"commit","published_at":"2017-01-17T07:01:07.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.2.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0/manifests"},{"name":"v1.1","sha":"0eeaf8392f5b04950925b8a69fe70f110fa7cbfc","kind":"commit","published_at":"2016-03-17T21:34:30.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1/manifests"}]},"repo_metadata_updated_at":"2025-10-26T17:28:43.284Z","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":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/github.com/%21gorilla/mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/Gorilla/mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/Gorilla/mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/Gorilla/mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-14T16:51:39.252Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2Fmux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2Fmux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2Fmux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2Fmux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2Fmux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2Fmux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":3869788,"name":"github.com/goriLla/mux","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/goriLla/mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/goriLla/mux","keywords_array":[],"namespace":"github.com/goriLla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-05-02T09:19:51.655Z","created_at":"2022-04-11T22:22:21.644Z","updated_at":"2026-05-02T09:19:51.656Z","registry_url":"https://pkg.go.dev/github.com/goriLla/mux","install_command":"go get github.com/goriLla/mux","documentation_url":"https://pkg.go.dev/github.com/goriLla/mux#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21630,"open_issues_count":33,"forks_count":1875,"subscribers_count":307,"default_branch":"main","last_synced_at":"2025-10-17T00:36:12.830Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-16T20:19:10.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279666907,"owners_count":26207967,"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-18T02:00:06.492Z","response_time":62,"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"},"tags":[]},"repo_metadata_updated_at":"2025-10-26T17:28:43.677Z","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.3840469026538741,"forks_count":0.4447626753995625,"average":4.29345246044777},"purl":"pkg:golang/github.com/gori%21lla/mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/goriLla/mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/goriLla/mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/goriLla/mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-14T16:51:39.252Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgoriLla%2Fmux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgoriLla%2Fmux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgoriLla%2Fmux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgoriLla%2Fmux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgoriLla%2Fmux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgoriLla%2Fmux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":6523976,"name":"github.com/gorilla/mUX","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/gorilla/mUX","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/gorilla/mUX","keywords_array":[],"namespace":"github.com/gorilla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-04-29T14:37:52.492Z","created_at":"2023-03-14T02:42:49.930Z","updated_at":"2026-04-29T14:37:52.492Z","registry_url":"https://pkg.go.dev/github.com/gorilla/mUX","install_command":"go get github.com/gorilla/mUX","documentation_url":"https://pkg.go.dev/github.com/gorilla/mUX#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21630,"open_issues_count":33,"forks_count":1875,"subscribers_count":307,"default_branch":"main","last_synced_at":"2025-10-17T00:36:12.830Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-16T20:19:10.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279666907,"owners_count":26207967,"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-18T02:00:06.492Z","response_time":62,"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"},"tags":[]},"repo_metadata_updated_at":"2025-10-26T17:28:43.065Z","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.3819145557367427,"forks_count":0.5393715412491288,"average":4.316571590180879},"purl":"pkg:golang/github.com/gorilla/m%21u%21x","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/gorilla/mUX","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/gorilla/mUX","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/gorilla/mUX/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-14T16:51:39.252Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmUX/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmUX/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmUX/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmUX/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmUX/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmUX/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":4237335,"name":"github.com/gorilLa/mux","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/gorilLa/mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/gorilLa/mux","keywords_array":[],"namespace":"github.com/gorilLa","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-05-26T07:32:13.590Z","created_at":"2022-04-12T23:01:52.898Z","updated_at":"2026-05-26T07:32:13.591Z","registry_url":"https://pkg.go.dev/github.com/gorilLa/mux","install_command":"go get github.com/gorilLa/mux","documentation_url":"https://pkg.go.dev/github.com/gorilLa/mux#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21611,"open_issues_count":33,"forks_count":1875,"subscribers_count":307,"default_branch":"main","last_synced_at":"2025-10-08T21:32:35.518Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-08T08:30:34.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004577,"owners_count":26083735,"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-10T02:00:06.843Z","response_time":62,"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.8.1","sha":"b4617d0b9670ad14039b2739167fd35a60f557c5","kind":"commit","published_at":"2023-10-18T11:23:00.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"98cb6bf42e086f6af920b965c38cacc07402d51b","kind":"commit","published_at":"2020-07-11T20:05:21.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0/manifests"},{"name":"v1.7.4","sha":"75dcda0896e109a2a22c9315bca3bb21b87b2ba5","kind":"commit","published_at":"2020-01-12T19:17:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.4","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4/manifests"},{"name":"v1.7.3","sha":"00bdffe0f3c77e27d2cf6f5c70232a2d3e4d9c15","kind":"commit","published_at":"2019-06-30T04:17:52.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.3","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3/manifests"},{"name":"v1.7.2","sha":"ed099d42384823742bba0bf9a72b53b55c9e2e38","kind":"commit","published_at":"2019-05-17T00:20:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"c5c6c98bc25355028a63748a498942a6398ccd22","kind":"commit","published_at":"2019-03-16T13:32:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"a7962380ca08b5a188038c69871b8d3fbdf31e89","kind":"commit","published_at":"2019-01-25T16:05:53.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"e3702bed27f0d39777b0b37b664b6280e8ef8fbf","kind":"commit","published_at":"2018-05-13T03:22:33.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"53c1911da2b537f792e7cafcb446b05ffe33b996","kind":"commit","published_at":"2018-01-16T17:23:47.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"7f08801859139f86dfafd1c296e2cba9a80d292e","kind":"commit","published_at":"2017-11-05T17:23:20.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"24fca303ac6da784b9e8269f724ddeb0b2eea5e7","kind":"commit","published_at":"2017-09-05T17:10:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.5.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"bcd8bc72b08df0f70df986b97f95590779502d31","kind":"commit","published_at":"2017-05-21T04:50:13.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.4.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"392c28fe23e1c45ddba891b0320b3b5df220beea","kind":"commit","published_at":"2017-01-18T13:43:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.3.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"b12896167c61cb7a17ee5f15c2ba0729d78793db","kind":"commit","published_at":"2017-01-17T07:01:07.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.2.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0/manifests"},{"name":"v1.1","sha":"0eeaf8392f5b04950925b8a69fe70f110fa7cbfc","kind":"commit","published_at":"2016-03-17T21:34:30.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1/manifests"}]},"repo_metadata_updated_at":"2025-10-26T17:28:44.327Z","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.3840469026538741,"forks_count":0.4447626753995625,"average":4.29345246044777},"purl":"pkg:golang/github.com/goril%21la/mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/gorilLa/mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/gorilLa/mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/gorilLa/mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-02T03:32:30.046Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgorilLa%2Fmux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgorilLa%2Fmux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgorilLa%2Fmux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgorilLa%2Fmux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgorilLa%2Fmux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgorilLa%2Fmux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":13963820,"name":"go-github-com-gorilla-mux","ecosystem":"guix","description":"URL router and dispatcher for Go","homepage":"https://github.com/gorilla/mux","licenses":"bsd-3","normalized_licenses":["BSD-1-Clause"],"repository_url":"https://github.com/gorilla/mux","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-03-02T22:58:47.479Z","latest_release_published_at":"2026-03-02T22:58:47.479Z","latest_release_number":"1.8.0","last_synced_at":"2026-04-07T02:00:22.147Z","created_at":"2026-03-02T22:58:47.298Z","updated_at":"2026-04-07T02:00:22.147Z","registry_url":"https://packages.guix.gnu.org/packages/go-github-com-gorilla-mux/1.8.0/","install_command":"guix install go-github-com-gorilla-mux","documentation_url":"https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/golang-web.scm#n6999","metadata":{"location":"gnu/packages/golang-web.scm:6999","variable_name":"go-github-com-gorilla-mux"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-02T22:58:47.970Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:guix/go-github-com-gorilla-mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/guix/go-github-com-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/guix/go-github-com-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/guix/go-github-com-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/go-github-com-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/go-github-com-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/go-github-com-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/go-github-com-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/go-github-com-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages/go-github-com-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"guix","url":"https://guix.gnu.org","ecosystem":"guix","default":true,"packages_count":31524,"maintainers_count":0,"namespaces_count":0,"keywords_count":1627,"github":"guix-mirror","metadata":{"funded_packages_count":352},"icon_url":"https://github.com/guix-mirror.png","created_at":"2026-03-02T16:23:46.981Z","updated_at":"2026-05-07T05:00:22.550Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/guix/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/guix/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/guix/namespaces"}},{"id":4186124,"name":"www.github.com/gorilla/mux.git","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://www.github.com/gorilla/mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/gorilla/mux","keywords_array":[],"namespace":"www.github.com/gorilla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-04-26T18:05:15.031Z","created_at":"2022-04-12T19:34:51.460Z","updated_at":"2026-04-26T18:05:15.032Z","registry_url":"https://pkg.go.dev/www.github.com/gorilla/mux.git","install_command":"go get www.github.com/gorilla/mux.git","documentation_url":"https://pkg.go.dev/www.github.com/gorilla/mux.git#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21737,"open_issues_count":34,"forks_count":1880,"subscribers_count":301,"default_branch":"main","last_synced_at":"2025-12-09T13:51:18.010Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-12-09T09:27:53.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27630312,"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-12-10T02:00:12.818Z","response_time":54,"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":[]},"repo_metadata_updated_at":"2025-12-10T04:25:53.965Z","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":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/www.github.com/gorilla/mux.git","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/www.github.com/gorilla/mux.git","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/www.github.com/gorilla/mux.git","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/www.github.com/gorilla/mux.git/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-12-05T12:01:31.192Z","issues_count":109,"pull_requests_count":81,"avg_time_to_close_issue":14958787.792682927,"avg_time_to_close_pull_request":12943382.484375,"issues_closed_count":82,"pull_requests_closed_count":64,"pull_request_authors_count":48,"issue_authors_count":106,"avg_comments_per_issue":4.981651376146789,"avg_comments_per_pull_request":2.753086419753086,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":5,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.6,"past_year_avg_comments_per_pull_request":0.3333333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/www.github.com%2Fgorilla%2Fmux.git/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/www.github.com%2Fgorilla%2Fmux.git/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/www.github.com%2Fgorilla%2Fmux.git/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/www.github.com%2Fgorilla%2Fmux.git/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/www.github.com%2Fgorilla%2Fmux.git/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/www.github.com%2Fgorilla%2Fmux.git/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":13417617,"name":"golang-github-gorilla-mux","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-07T03:19:35.206Z","latest_release_published_at":"2026-02-07T03:19:35.206Z","latest_release_number":"1.8.0-1","last_synced_at":"2026-03-07T03:36:35.100Z","created_at":"2026-02-07T03:19:34.598Z","updated_at":"2026-03-07T04:07:34.786Z","registry_url":"https://launchpad.net/ubuntu/+source/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"extra","binary":"golang-github-gorilla-mux-dev","standards_version":"4.6.0","maintainer":"Debian Go Packaging Team \u003cteam+pkg-go@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 13), dh-golang","build_depends_indep":"golang-any","build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/golang-github-gorilla-mux?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"ubuntu-22.04","url":"https://launchpad.net/ubuntu/jammy","ecosystem":"ubuntu","default":false,"packages_count":34289,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"jammy"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-04-27T18:20:36.155Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/namespaces"}},{"id":13438473,"name":"golang-github-gorilla-mux","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-08T01:34:05.647Z","latest_release_published_at":"2026-02-08T01:34:05.647Z","latest_release_number":"1.7.3-1","last_synced_at":"2026-03-08T02:57:10.224Z","created_at":"2026-02-08T01:34:05.289Z","updated_at":"2026-03-08T03:02:34.351Z","registry_url":"https://launchpad.net/ubuntu/+source/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"extra","binary":"golang-github-gorilla-mux-dev","standards_version":"4.4.1.1","maintainer":"Debian Go Packaging Team \u003cteam+pkg-go@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 12), dh-golang","build_depends_indep":"golang-any","build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/golang-github-gorilla-mux?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"ubuntu-20.04","url":"https://launchpad.net/ubuntu/focal","ecosystem":"ubuntu","default":false,"packages_count":30789,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"focal"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-04-27T18:20:36.874Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/namespaces"}},{"id":13448317,"name":"golang-github-gorilla-mux","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-08T15:28:18.805Z","latest_release_published_at":"2026-02-08T15:28:18.805Z","latest_release_number":"1.8.1-1","last_synced_at":"2026-03-08T15:44:20.240Z","created_at":"2026-02-08T15:28:18.470Z","updated_at":"2026-03-08T16:04:05.541Z","registry_url":"https://launchpad.net/ubuntu/+source/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"extra","binary":"golang-github-gorilla-mux-dev","standards_version":"4.6.2","maintainer":"Debian Go Packaging Team \u003cteam+pkg-go@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 13), dh-golang, golang-any","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/golang-github-gorilla-mux?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-04-27T18:20:37.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":8186940,"name":"github.com/gOrilla/mux","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/gOrilla/mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/gOrilla/mux","keywords_array":[],"namespace":"github.com/gOrilla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-05-06T01:47:22.395Z","created_at":"2023-09-05T02:11:55.583Z","updated_at":"2026-05-06T01:47:22.396Z","registry_url":"https://pkg.go.dev/github.com/gOrilla/mux","install_command":"go get github.com/gOrilla/mux","documentation_url":"https://pkg.go.dev/github.com/gOrilla/mux#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21630,"open_issues_count":33,"forks_count":1875,"subscribers_count":307,"default_branch":"main","last_synced_at":"2025-10-17T00:36:12.830Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-16T20:19:10.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279666935,"owners_count":26207967,"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-18T02:00:06.492Z","response_time":62,"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"},"tags":[]},"repo_metadata_updated_at":"2025-10-26T17:28:43.903Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.56745293061189,"dependent_packages_count":8.899321458400431,"stargazers_count":0.23968998981108752,"forks_count":0.5694725149910638,"docker_downloads_count":null,"average":5.068984223453618},"purl":"pkg:golang/github.com/g%21orilla/mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/gOrilla/mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/gOrilla/mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/gOrilla/mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-14T16:51:39.252Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgOrilla%2Fmux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgOrilla%2Fmux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgOrilla%2Fmux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgOrilla%2Fmux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgOrilla%2Fmux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FgOrilla%2Fmux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":3794963,"name":"github.com/Gorilla/Mux","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/Gorilla/Mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/Gorilla/Mux","keywords_array":[],"namespace":"github.com/Gorilla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-05-03T04:03:53.862Z","created_at":"2022-04-11T18:04:01.676Z","updated_at":"2026-05-03T04:03:53.863Z","registry_url":"https://pkg.go.dev/github.com/Gorilla/Mux","install_command":"go get github.com/Gorilla/Mux","documentation_url":"https://pkg.go.dev/github.com/Gorilla/Mux#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21611,"open_issues_count":33,"forks_count":1875,"subscribers_count":307,"default_branch":"main","last_synced_at":"2025-10-08T21:32:35.518Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-08T08:30:34.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004577,"owners_count":26083735,"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-10T02:00:06.843Z","response_time":62,"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.8.1","sha":"b4617d0b9670ad14039b2739167fd35a60f557c5","kind":"commit","published_at":"2023-10-18T11:23:00.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"98cb6bf42e086f6af920b965c38cacc07402d51b","kind":"commit","published_at":"2020-07-11T20:05:21.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0/manifests"},{"name":"v1.7.4","sha":"75dcda0896e109a2a22c9315bca3bb21b87b2ba5","kind":"commit","published_at":"2020-01-12T19:17:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.4","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4/manifests"},{"name":"v1.7.3","sha":"00bdffe0f3c77e27d2cf6f5c70232a2d3e4d9c15","kind":"commit","published_at":"2019-06-30T04:17:52.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.3","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3/manifests"},{"name":"v1.7.2","sha":"ed099d42384823742bba0bf9a72b53b55c9e2e38","kind":"commit","published_at":"2019-05-17T00:20:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"c5c6c98bc25355028a63748a498942a6398ccd22","kind":"commit","published_at":"2019-03-16T13:32:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"a7962380ca08b5a188038c69871b8d3fbdf31e89","kind":"commit","published_at":"2019-01-25T16:05:53.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"e3702bed27f0d39777b0b37b664b6280e8ef8fbf","kind":"commit","published_at":"2018-05-13T03:22:33.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"53c1911da2b537f792e7cafcb446b05ffe33b996","kind":"commit","published_at":"2018-01-16T17:23:47.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"7f08801859139f86dfafd1c296e2cba9a80d292e","kind":"commit","published_at":"2017-11-05T17:23:20.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"24fca303ac6da784b9e8269f724ddeb0b2eea5e7","kind":"commit","published_at":"2017-09-05T17:10:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.5.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"bcd8bc72b08df0f70df986b97f95590779502d31","kind":"commit","published_at":"2017-05-21T04:50:13.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.4.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"392c28fe23e1c45ddba891b0320b3b5df220beea","kind":"commit","published_at":"2017-01-18T13:43:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.3.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"b12896167c61cb7a17ee5f15c2ba0729d78793db","kind":"commit","published_at":"2017-01-17T07:01:07.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.2.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0/manifests"},{"name":"v1.1","sha":"0eeaf8392f5b04950925b8a69fe70f110fa7cbfc","kind":"commit","published_at":"2016-03-17T21:34:30.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1/manifests"}]},"repo_metadata_updated_at":"2025-10-26T17:28:44.036Z","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.3840469026538741,"forks_count":0.4447626753995625,"average":4.29345246044777},"purl":"pkg:golang/github.com/%21gorilla/%21mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/Gorilla/Mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/Gorilla/Mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/Gorilla/Mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-02T03:32:30.046Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2FMux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2FMux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2FMux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2FMux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2FMux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGorilla%2FMux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":4160638,"name":"github.com/gorilla/MUX","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/gorilla/MUX","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/gorilla/MUX","keywords_array":[],"namespace":"github.com/gorilla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-04-30T06:34:16.061Z","created_at":"2022-04-12T17:49:48.304Z","updated_at":"2026-04-30T06:34:16.061Z","registry_url":"https://pkg.go.dev/github.com/gorilla/MUX","install_command":"go get github.com/gorilla/MUX","documentation_url":"https://pkg.go.dev/github.com/gorilla/MUX#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21630,"open_issues_count":33,"forks_count":1875,"subscribers_count":307,"default_branch":"main","last_synced_at":"2025-10-17T00:36:12.830Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-16T20:19:10.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279666904,"owners_count":26207967,"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-18T02:00:06.492Z","response_time":62,"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"},"tags":[]},"repo_metadata_updated_at":"2025-10-26T17:28:43.910Z","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.3840469026538741,"forks_count":0.4447626753995625,"average":4.29345246044777},"purl":"pkg:golang/github.com/gorilla/%21m%21u%21x","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/gorilla/MUX","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/gorilla/MUX","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/gorilla/MUX/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-14T16:51:39.252Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMUX/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMUX/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMUX/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMUX/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMUX/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FMUX/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":3492659,"name":"github.com/gorilla/mux","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/gorilla/mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/gorilla/mux","keywords_array":[],"namespace":"github.com/gorilla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-05-27T08:02:51.828Z","created_at":"2022-04-10T19:11:21.051Z","updated_at":"2026-05-27T08:02:51.829Z","registry_url":"https://pkg.go.dev/github.com/gorilla/mux","install_command":"go get github.com/gorilla/mux","documentation_url":"https://pkg.go.dev/github.com/gorilla/mux#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21636,"open_issues_count":33,"forks_count":1875,"subscribers_count":301,"default_branch":"main","last_synced_at":"2025-10-24T05:02:40.024Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-23T06:45:15.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280908007,"owners_count":26411750,"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-25T02:00:06.499Z","response_time":81,"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.8.1","sha":"b4617d0b9670ad14039b2739167fd35a60f557c5","kind":"commit","published_at":"2023-10-18T11:23:00.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"98cb6bf42e086f6af920b965c38cacc07402d51b","kind":"commit","published_at":"2020-07-11T20:05:21.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0/manifests"},{"name":"v1.7.4","sha":"75dcda0896e109a2a22c9315bca3bb21b87b2ba5","kind":"commit","published_at":"2020-01-12T19:17:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.4","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4/manifests"},{"name":"v1.7.3","sha":"00bdffe0f3c77e27d2cf6f5c70232a2d3e4d9c15","kind":"commit","published_at":"2019-06-30T04:17:52.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.3","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3/manifests"},{"name":"v1.7.2","sha":"ed099d42384823742bba0bf9a72b53b55c9e2e38","kind":"commit","published_at":"2019-05-17T00:20:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"c5c6c98bc25355028a63748a498942a6398ccd22","kind":"commit","published_at":"2019-03-16T13:32:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"a7962380ca08b5a188038c69871b8d3fbdf31e89","kind":"commit","published_at":"2019-01-25T16:05:53.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"e3702bed27f0d39777b0b37b664b6280e8ef8fbf","kind":"commit","published_at":"2018-05-13T03:22:33.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"53c1911da2b537f792e7cafcb446b05ffe33b996","kind":"commit","published_at":"2018-01-16T17:23:47.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"7f08801859139f86dfafd1c296e2cba9a80d292e","kind":"commit","published_at":"2017-11-05T17:23:20.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"24fca303ac6da784b9e8269f724ddeb0b2eea5e7","kind":"commit","published_at":"2017-09-05T17:10:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.5.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"bcd8bc72b08df0f70df986b97f95590779502d31","kind":"commit","published_at":"2017-05-21T04:50:13.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.4.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"392c28fe23e1c45ddba891b0320b3b5df220beea","kind":"commit","published_at":"2017-01-18T13:43:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.3.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"b12896167c61cb7a17ee5f15c2ba0729d78793db","kind":"commit","published_at":"2017-01-17T07:01:07.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.2.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0/manifests"},{"name":"v1.1","sha":"0eeaf8392f5b04950925b8a69fe70f110fa7cbfc","kind":"commit","published_at":"2016-03-17T21:34:30.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1/manifests"}]},"repo_metadata_updated_at":"2025-10-26T17:29:28.363Z","dependent_packages_count":27498,"downloads":null,"downloads_period":null,"dependent_repos_count":97463,"rankings":{"downloads":null,"dependent_repos_count":0.012138087867306838,"dependent_packages_count":0.0042535179705947045,"stargazers_count":0.45419272378691744,"forks_count":0.5798271204305805,"docker_downloads_count":0.010478178415367441,"average":0.2121779256941534},"purl":"pkg:golang/github.com/gorilla/mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/gorilla/mux","docker_dependents_count":9502,"docker_downloads_count":32551902318,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/gorilla/mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/gorilla/mux/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2025-10-14T16:51:39.252Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2Fmux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2Fmux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2Fmux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2Fmux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2Fmux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2Fmux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":13475718,"name":"golang-github-gorilla-mux","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-10T03:42:53.414Z","latest_release_published_at":"2026-02-10T03:42:53.414Z","latest_release_number":"1.8.0-1","last_synced_at":"2026-03-10T04:13:33.976Z","created_at":"2026-02-10T03:42:53.009Z","updated_at":"2026-03-10T04:13:33.976Z","registry_url":"https://launchpad.net/ubuntu/+source/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"extra","binary":"golang-github-gorilla-mux-dev","standards_version":"4.6.0","maintainer":"Debian Go Packaging Team \u003cteam+pkg-go@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 13), dh-golang","build_depends_indep":"golang-any","build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/golang-github-gorilla-mux?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-27T18:20:38.051Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":6005701,"name":"github.com/weex/mux","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/gorilla/mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/gorilla/mux","keywords_array":[],"namespace":"github.com/weex","versions_count":0,"first_release_published_at":null,"latest_release_published_at":"2026-04-16T16:34:04.688Z","latest_release_number":null,"last_synced_at":"2026-05-20T18:02:16.122Z","created_at":"2023-01-29T00:25:56.782Z","updated_at":"2026-05-20T18:02:16.123Z","registry_url":"https://pkg.go.dev/github.com/weex/mux","install_command":"go get github.com/weex/mux","documentation_url":"https://pkg.go.dev/github.com/weex/mux#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21636,"open_issues_count":33,"forks_count":1875,"subscribers_count":301,"default_branch":"main","last_synced_at":"2025-10-24T05:02:40.024Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-23T06:45:15.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280908007,"owners_count":26411750,"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-25T02:00:06.499Z","response_time":81,"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.8.1","sha":"b4617d0b9670ad14039b2739167fd35a60f557c5","kind":"commit","published_at":"2023-10-18T11:23:00.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"98cb6bf42e086f6af920b965c38cacc07402d51b","kind":"commit","published_at":"2020-07-11T20:05:21.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0/manifests"},{"name":"v1.7.4","sha":"75dcda0896e109a2a22c9315bca3bb21b87b2ba5","kind":"commit","published_at":"2020-01-12T19:17:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.4","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4/manifests"},{"name":"v1.7.3","sha":"00bdffe0f3c77e27d2cf6f5c70232a2d3e4d9c15","kind":"commit","published_at":"2019-06-30T04:17:52.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.3","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3/manifests"},{"name":"v1.7.2","sha":"ed099d42384823742bba0bf9a72b53b55c9e2e38","kind":"commit","published_at":"2019-05-17T00:20:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"c5c6c98bc25355028a63748a498942a6398ccd22","kind":"commit","published_at":"2019-03-16T13:32:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"a7962380ca08b5a188038c69871b8d3fbdf31e89","kind":"commit","published_at":"2019-01-25T16:05:53.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"e3702bed27f0d39777b0b37b664b6280e8ef8fbf","kind":"commit","published_at":"2018-05-13T03:22:33.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"53c1911da2b537f792e7cafcb446b05ffe33b996","kind":"commit","published_at":"2018-01-16T17:23:47.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"7f08801859139f86dfafd1c296e2cba9a80d292e","kind":"commit","published_at":"2017-11-05T17:23:20.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"24fca303ac6da784b9e8269f724ddeb0b2eea5e7","kind":"commit","published_at":"2017-09-05T17:10:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.5.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"bcd8bc72b08df0f70df986b97f95590779502d31","kind":"commit","published_at":"2017-05-21T04:50:13.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.4.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"392c28fe23e1c45ddba891b0320b3b5df220beea","kind":"commit","published_at":"2017-01-18T13:43:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.3.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"b12896167c61cb7a17ee5f15c2ba0729d78793db","kind":"commit","published_at":"2017-01-17T07:01:07.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.2.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0/manifests"},{"name":"v1.1","sha":"0eeaf8392f5b04950925b8a69fe70f110fa7cbfc","kind":"commit","published_at":"2016-03-17T21:34:30.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1/manifests"}]},"repo_metadata_updated_at":"2025-10-26T17:29:34.517Z","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.4440893026888894,"forks_count":0.43892677857372925,"average":4.307004086250066},"purl":"pkg:golang/github.com/weex/mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/weex/mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/weex/mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/weex/mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-14T16:51:39.252Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweex%2Fmux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweex%2Fmux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweex%2Fmux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweex%2Fmux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweex%2Fmux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fweex%2Fmux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":12607030,"name":"github.com/GORILLA/MUX","ecosystem":"go","description":null,"homepage":null,"licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/GORILLA/MUX","keywords_array":[],"namespace":null,"versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-04-29T08:46:25.031Z","created_at":"2025-12-20T10:39:09.759Z","updated_at":"2026-04-29T08:46:25.031Z","registry_url":"https://pkg.go.dev/github.com/GORILLA/MUX","install_command":"go get github.com/GORILLA/MUX","documentation_url":"https://pkg.go.dev/github.com/GORILLA/MUX#section-documentation","metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2025-12-20T11:41:36.070Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.374974371906944,"dependent_packages_count":5.036807650550465,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.2058910112287045},"purl":"pkg:golang/github.com/%21g%21o%21r%21i%21l%21l%21a/%21m%21u%21x","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/GORILLA/MUX","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/GORILLA/MUX","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/GORILLA/MUX/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2FMUX/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2FMUX/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2FMUX/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2FMUX/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2FMUX/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2FMUX/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":3647316,"name":"github.com/gorilla/muX","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/gorilla/muX","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/gorilla/muX","keywords_array":[],"namespace":"github.com/gorilla","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-05-01T00:46:36.904Z","created_at":"2022-04-11T09:20:22.293Z","updated_at":"2026-05-01T00:46:36.904Z","registry_url":"https://pkg.go.dev/github.com/gorilla/muX","install_command":"go get github.com/gorilla/muX","documentation_url":"https://pkg.go.dev/github.com/gorilla/muX#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21630,"open_issues_count":33,"forks_count":1875,"subscribers_count":307,"default_branch":"main","last_synced_at":"2025-10-17T00:36:12.830Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-16T20:19:10.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279666907,"owners_count":26207967,"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-18T02:00:06.492Z","response_time":62,"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"},"tags":[]},"repo_metadata_updated_at":"2025-10-26T17:28:44.478Z","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.3840469026538741,"forks_count":0.4447626753995625,"average":4.29345246044777},"purl":"pkg:golang/github.com/gorilla/mu%21x","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/gorilla/muX","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/gorilla/muX","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/gorilla/muX/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-14T16:51:39.252Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmuX/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmuX/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmuX/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmuX/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmuX/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fgorilla%2FmuX/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":13684772,"name":"golang-github-gorilla-mux","ecosystem":"debian","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["golang"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T17:49:04.361Z","latest_release_published_at":"2026-02-12T17:49:04.361Z","latest_release_number":"1.8.0-1","last_synced_at":"2026-03-13T00:07:50.493Z","created_at":"2026-02-12T17:49:04.118Z","updated_at":"2026-03-13T00:07:50.493Z","registry_url":"https://tracker.debian.org/pkg/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":"https://packages.debian.org/bookworm/golang-github-gorilla-mux","metadata":{"component":"main","architecture":"all","priority":"extra","binary":"golang-github-gorilla-mux-dev","standards_version":"4.6.0","maintainer":"Debian Go Packaging Team \u003cteam+pkg-go@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 13), dh-golang","build_depends_indep":"golang-any","build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T17:49:04.985Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/golang-github-gorilla-mux?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"bookworm"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-27T18:20:38.992Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":13387975,"name":"golang-github-gorilla-mux","ecosystem":"ubuntu","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-05T16:04:03.139Z","latest_release_published_at":"2026-02-05T16:04:03.139Z","latest_release_number":"1.8.1-1","last_synced_at":"2026-03-06T10:23:15.704Z","created_at":"2026-02-05T16:04:02.294Z","updated_at":"2026-03-06T10:32:24.260Z","registry_url":"https://launchpad.net/ubuntu/+source/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"extra","binary":"golang-github-gorilla-mux-dev","standards_version":"4.6.2","maintainer":"Debian Go Packaging Team \u003cteam+pkg-go@tracker.debian.org\u003e","build_depends":"debhelper-compat (= 13), dh-golang, golang-any","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/golang-github-gorilla-mux?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}},{"id":13581098,"name":"golang-github-gorilla-mux","ecosystem":"debian","description":null,"homepage":"https://github.com/gorilla/mux","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/gorilla/mux","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T08:51:18.884Z","latest_release_published_at":"2026-02-11T08:51:18.884Z","latest_release_number":"1.1-4","last_synced_at":"2026-03-13T07:04:48.426Z","created_at":"2026-02-11T08:51:18.687Z","updated_at":"2026-03-13T07:04:48.427Z","registry_url":"https://tracker.debian.org/pkg/golang-github-gorilla-mux","install_command":"apt-get install golang-github-gorilla-mux","documentation_url":"https://packages.debian.org/buster/golang-github-gorilla-mux","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"golang-github-gorilla-mux-dev","standards_version":"3.9.8","maintainer":"pkg-go \u003cpkg-go-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 9), dh-golang, golang-github-gorilla-context-dev, golang-any","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-11T15:07:35.670Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/golang-github-gorilla-mux?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/golang-github-gorilla-mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/golang-github-gorilla-mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/golang-github-gorilla-mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/golang-github-gorilla-mux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/golang-github-gorilla-mux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/golang-github-gorilla-mux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/golang-github-gorilla-mux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/golang-github-gorilla-mux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/golang-github-gorilla-mux/codemeta","maintainers":[],"registry":{"name":"debian-10","url":"https://packages.debian.org/buster","ecosystem":"debian","default":false,"packages_count":28836,"maintainers_count":0,"namespaces_count":3,"keywords_count":915,"github":"debian","metadata":{"codename":"buster","mirror":"http://archive.debian.org/debian","funded_packages_count":93},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-05-29T05:10:14.968Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/namespaces"}},{"id":3761477,"name":"github.com/GORILLA/mux","ecosystem":"go","description":"Package mux implements a request router and dispatcher.\n\nThe name mux stands for \"HTTP request multiplexer\". Like the standard\nhttp.ServeMux, mux.Router matches incoming requests against a list of\nregistered routes and calls a handler for the route that matches the URL\nor other conditions. The main features are:\n\nLet's start registering a couple of URL paths and handlers:\n\nHere we register three routes mapping URL paths to handlers. This is\nequivalent to how http.HandleFunc() works: if an incoming request URL matches\none of the paths, the corresponding handler is called passing\n(http.ResponseWriter, *http.Request) as parameters.\n\nPaths can have variables. They are defined using the format {name} or\n{name:pattern}. If a regular expression pattern is not defined, the matched\nvariable will be anything until the next slash. For example:\n\nGroups can be used inside patterns, as long as they are non-capturing (?:re). For example:\n\nThe names are used to create a map of route variables which can be retrieved\ncalling mux.Vars():\n\nNote that if any capturing groups are present, mux will panic() during parsing. To prevent\nthis, convert any capturing groups to non-capturing, e.g. change \"/{sort:(asc|desc)}\" to\n\"/{sort:(?:asc|desc)}\". This is a change from prior versions which behaved unpredictably\nwhen capturing groups were present.\n\nAnd this is all you need to know about the basic usage. More advanced options\nare explained below.\n\nRoutes can also be restricted to a domain or subdomain. Just define a host\npattern to be matched. They can also have variables:\n\nThere are several other matchers that can be added. To match path prefixes:\n\n...or HTTP methods:\n\n...or URL schemes:\n\n...or header values:\n\n...or query values:\n\n...or to use a custom matcher function:\n\n...and finally, it is possible to combine several matchers in a single route:\n\nSetting the same matching conditions again and again can be boring, so we have\na way to group several routes that share the same requirements.\nWe call it \"subrouting\".\n\nFor example, let's say we have several URLs that should only match when the\nhost is \"www.example.com\". Create a route for that host and get a \"subrouter\"\nfrom it:\n\nThen register routes in the subrouter:\n\nThe three URL paths we registered above will only be tested if the domain is\n\"www.example.com\", because the subrouter is tested first. This is not\nonly convenient, but also optimizes request matching. You can create\nsubrouters combining any attribute matchers accepted by a route.\n\nSubrouters can be used to create domain or path \"namespaces\": you define\nsubrouters in a central place and then parts of the app can register its\npaths relatively to a given subrouter.\n\nThere's one more thing about subroutes. When a subrouter has a path prefix,\nthe inner routes use it as base for their paths:\n\nNote that the path provided to PathPrefix() represents a \"wildcard\": calling\nPathPrefix(\"/static/\").Handler(...) means that the handler will be passed any\nrequest that matches \"/static/*\". This makes it easy to serve static files with mux:\n\nNow let's see how to build registered URLs.\n\nRoutes can be named. All routes that define a name can have their URLs built,\nor \"reversed\". We define a name calling Name() on a route. For example:\n\nTo build a URL, get the route and call the URL() method, passing a sequence of\nkey/value pairs for the route variables. For the previous route, we would do:\n\n...and the result will be a url.URL with the following path:\n\nThis also works for host and query value variables:\n\nAll variables defined in the route are required, and their values must\nconform to the corresponding patterns. These requirements guarantee that a\ngenerated URL will always match a registered route -- the only exception is\nfor explicitly defined \"build-only\" routes which never match.\n\nRegex support also exists for matching Headers within a route. For example, we could do:\n\n...and the route will match both requests with a Content-Type of `application/json` as well as\n`application/text`\n\nThere's also a way to build only the URL host or path for a route:\nuse the methods URLHost() or URLPath() instead. For the previous route,\nwe would do:\n\nAnd if you use subrouters, host and path defined separately can be built\nas well:\n\nMux supports the addition of middlewares to a Router, which are executed in the order they are added if a match is found, including its subrouters. Middlewares are (typically) small pieces of code which take one request, do something with it, and pass it down to another middleware or the final handler. Some common use cases for middleware are request logging, header manipulation, or ResponseWriter hijacking.\n\nTypically, the returned handler is a closure which does something with the http.ResponseWriter and http.Request passed to it, and then calls the handler passed as parameter to the MiddlewareFunc (closures can access variables from the context where they are created).\n\nA very basic middleware which logs the URI of the request being handled could be written as:\n\nMiddlewares can be added to a router using `Router.Use()`:\n\nA more complex authentication middleware, which maps session token to users, could be written as:\n\nNote: The handler chain will be stopped if your middleware doesn't call `next.ServeHTTP()` with the corresponding parameters. This can be used to abort a request if the middleware writer wants to.","homepage":"https://github.com/GORILLA/mux","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/GORILLA/mux","keywords_array":[],"namespace":"github.com/GORILLA","versions_count":14,"first_release_published_at":"2017-01-17T07:01:07.000Z","latest_release_published_at":"2023-10-18T11:23:00.000Z","latest_release_number":"v1.8.1","last_synced_at":"2026-05-17T19:03:57.001Z","created_at":"2022-04-11T15:57:05.589Z","updated_at":"2026-05-17T19:03:57.002Z","registry_url":"https://pkg.go.dev/github.com/GORILLA/mux","install_command":"go get github.com/GORILLA/mux","documentation_url":"https://pkg.go.dev/github.com/GORILLA/mux#section-documentation","metadata":{},"repo_metadata":{"id":4896181,"uuid":"6051812","full_name":"gorilla/mux","owner":"gorilla","description":"Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍","archived":false,"fork":false,"pushed_at":"2024-08-15T03:10:55.000Z","size":543,"stargazers_count":21611,"open_issues_count":33,"forks_count":1875,"subscribers_count":307,"default_branch":"main","last_synced_at":"2025-10-08T21:32:35.518Z","etag":null,"topics":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"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":"kennethreitz/envoy","license":"bsd-3-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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-02T21:32:24.000Z","updated_at":"2025-10-08T08:30:34.000Z","dependencies_parsed_at":"2023-11-13T05:28:53.364Z","dependency_job_id":"8344c3ab-2047-4c9c-8007-69fff69af020","html_url":"https://github.com/gorilla/mux","commit_stats":{"total_commits":272,"total_committers":120,"mean_commits":"2.2666666666666666","dds":0.8676470588235294,"last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/gorilla/mux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorilla","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/sbom","scorecard":{"id":441607,"data":{"date":"2025-08-11","repo":{"name":"github.com/gorilla/mux","commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Code-Review","score":9,"reason":"Found 21/23 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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/issues.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/issues.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/security.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/security.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/security.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/gorilla/mux/verify.yml/main?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/issues.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/security.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/verify.yml:10","Info: no jobLevel write permissions found"],"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" 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":"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":"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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 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"}}]},"last_synced_at":"2025-08-19T05:42:39.505Z","repository_id":4896181,"created_at":"2025-08-19T05:42:39.505Z","updated_at":"2025-08-19T05:42:39.505Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004577,"owners_count":26083735,"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-10T02:00:06.843Z","response_time":62,"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.8.1","sha":"b4617d0b9670ad14039b2739167fd35a60f557c5","kind":"commit","published_at":"2023-10-18T11:23:00.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"98cb6bf42e086f6af920b965c38cacc07402d51b","kind":"commit","published_at":"2020-07-11T20:05:21.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.8.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.8.0/manifests"},{"name":"v1.7.4","sha":"75dcda0896e109a2a22c9315bca3bb21b87b2ba5","kind":"commit","published_at":"2020-01-12T19:17:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.4","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.4/manifests"},{"name":"v1.7.3","sha":"00bdffe0f3c77e27d2cf6f5c70232a2d3e4d9c15","kind":"commit","published_at":"2019-06-30T04:17:52.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.3","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.3/manifests"},{"name":"v1.7.2","sha":"ed099d42384823742bba0bf9a72b53b55c9e2e38","kind":"commit","published_at":"2019-05-17T00:20:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"c5c6c98bc25355028a63748a498942a6398ccd22","kind":"commit","published_at":"2019-03-16T13:32:43.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"a7962380ca08b5a188038c69871b8d3fbdf31e89","kind":"commit","published_at":"2019-01-25T16:05:53.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.7.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"e3702bed27f0d39777b0b37b664b6280e8ef8fbf","kind":"commit","published_at":"2018-05-13T03:22:33.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.2","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"53c1911da2b537f792e7cafcb446b05ffe33b996","kind":"commit","published_at":"2018-01-16T17:23:47.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"7f08801859139f86dfafd1c296e2cba9a80d292e","kind":"commit","published_at":"2017-11-05T17:23:20.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.6.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"24fca303ac6da784b9e8269f724ddeb0b2eea5e7","kind":"commit","published_at":"2017-09-05T17:10:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.5.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"bcd8bc72b08df0f70df986b97f95590779502d31","kind":"commit","published_at":"2017-05-21T04:50:13.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.4.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"392c28fe23e1c45ddba891b0320b3b5df220beea","kind":"commit","published_at":"2017-01-18T13:43:44.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.3.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"b12896167c61cb7a17ee5f15c2ba0729d78793db","kind":"commit","published_at":"2017-01-17T07:01:07.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.2.0","html_url":"https://github.com/gorilla/mux/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.2.0/manifests"},{"name":"v1.1","sha":"0eeaf8392f5b04950925b8a69fe70f110fa7cbfc","kind":"commit","published_at":"2016-03-17T21:34:30.000Z","download_url":"https://codeload.github.com/gorilla/mux/tar.gz/v1.1","html_url":"https://github.com/gorilla/mux/releases/tag/v1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/gorilla/mux@v1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/tags/v1.1/manifests"}]},"repo_metadata_updated_at":"2025-10-26T17:28:43.265Z","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.3840469026538741,"forks_count":0.4447626753995625,"average":4.29345246044777},"purl":"pkg:golang/github.com/%21g%21o%21r%21i%21l%21l%21a/mux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/GORILLA/mux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/GORILLA/mux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/GORILLA/mux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-02T03:32:30.046Z","issues_count":109,"pull_requests_count":80,"avg_time_to_close_issue":14433035.48235294,"avg_time_to_close_pull_request":12904420.859375,"issues_closed_count":85,"pull_requests_closed_count":64,"pull_request_authors_count":49,"issue_authors_count":106,"avg_comments_per_issue":4.862385321100917,"avg_comments_per_pull_request":2.8,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":7,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":92745.5,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":0.5714285714285714,"past_year_avg_comments_per_pull_request":0.375,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","maintainers":[{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"},{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2Fmux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2Fmux/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2Fmux/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2Fmux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2Fmux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FGORILLA%2Fmux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2151639,"maintainers_count":0,"namespaces_count":782439,"keywords_count":112823,"github":"golang","metadata":{"funded_packages_count":53495},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-19T05:14:45.920Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":7744,"full_name":"gorilla/mux","default_branch":"main","total_commits":272,"total_committers":118,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":2.305084745762712,"dds":0.8676470588235294,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2025-12-17T18:10:36.674Z","last_synced_commit":"db9d1d0073d27a0a2d9a8c1bc52aa0af4374d265","created_at":"2023-03-07T09:46:29.050Z","updated_at":"2025-12-17T18:06:31.526Z","committers":[{"name":"Matt Silverlock","email":"matt@eatsleeprepeat.net","login":"elithrar","count":36},{"name":"Kamil Kisiel","email":"kamil@kamilkisiel.net","login":"kisielk","count":29},{"name":"Franklin Harding","email":"32021905+fharding1","login":"fharding1","count":9},{"name":"Corey Daley","email":"cdaley@redhat.com","login":"coreydaley","count":9},{"name":"Corné de Jong","email":"5366568-cornedejong@users.noreply.gitlab.com","login":null,"count":8},{"name":"Bay Dodd","email":"bay.dodd@gmail.com","login":"burrbd","count":6},{"name":"Raphael Simon","email":"raphael@rightscale.com","login":null,"count":6},{"name":"Chris Hines","email":"github@cs-guy.com","login":"ChrisHines","count":5},{"name":"Dj Gilcrease","email":"digitalxero@gmail.com","login":"djgilcrease","count":5},{"name":"Jingwen Owen Ou","email":"jingweno@gmail.com","login":"owenthereal","count":5},{"name":"Thomas ten Cate","email":"ttencate@gmail.com","login":"ttencate","count":5},{"name":"moraes","email":"rodrigo.moraes@gmail.com","login":"moraes","count":5},{"name":"Philip Schlump","email":"pschlump@gmail.com","login":"pschlump","count":4},{"name":"Quinn Slack","email":"qslack@qslack.com","login":"sqs","count":3},{"name":"Nick Miyake","email":"nmiyake@palantir.com","login":"nmiyake","count":3},{"name":"Kush Mansingh","email":"kushmansingh@icloud.com","login":"kushmansingh","count":3},{"name":"Bulat Gaifullin","email":"gaifullinbf@gmail.com","login":"bgaifullin","count":3},{"name":"Shinya Kawaguchi","email":"rm.true.dev@gmail.com","login":"shkw","count":3},{"name":"ShaneSaww","email":"ShaneSahnow@gmail.com","login":"ShaneSaww","count":3},{"name":"Clint Ryan","email":"clint.ryan3@gmail.com","login":null,"count":3},{"name":"Craig Jellick","email":"craig@rancher.com","login":null,"count":3},{"name":"Roberto Santalla","email":"roobre","login":"roobre","count":2},{"name":"Tomasz Kłak","email":"tumdum@gmail.com","login":"tumdum","count":2},{"name":"Nate Woods","email":"big.nate.w@gmail.com","login":"bign8","count":2},{"name":"Vivek V","email":"iamvivekv1996@yahoo.in","login":"vivekv96","count":2},{"name":"Mustaque Ahmed","email":"amustaque97@gmail.com","login":"amustaque97","count":2},{"name":"Matthew","email":"mtso@tuta.io","login":"mtso","count":2},{"name":"Geon Kim","email":"geon0250@gmail.com","login":"KimMachineGun","count":2},{"name":"Eric J. Holmes","email":"eric@ejholmes.net","login":"ejholmes","count":2},{"name":"Dmitri Shuralyov","email":"shurcooL@gmail.com","login":"dmitshur","count":2},{"name":"Christian Muehlhaeuser","email":"muesli@gmail.com","login":"muesli","count":2},{"name":"BlasterAlex","email":"pichulev23071999@gmail.com","login":"BlasterAlex","count":2},{"name":"Benjamin Boudreau","email":"boudreau.benjamin@gmail.com","login":"seriousben","count":2},{"name":"Felipe Madrigal","email":"luis.felipe@ooyala.com","login":null,"count":2},{"name":"Ken Wronkiewicz","email":"kewronki@cisco.com","login":null,"count":2},{"name":"Tit Petric","email":"tit@tyk.io","login":null,"count":2},{"name":"Philippe Lafoucrière","email":"philippe.lafoucriere@tech-angels.com","login":null,"count":2},{"name":"Pavel Ivanov","email":"pavel.ivanov@acronis.com","login":null,"count":2},{"name":"Orne Brocaar","email":"info@brocaar.com","login":"brocaar","count":2},{"name":"Nick Hudkins","email":"nick@nickhudkins.com","login":"nickhudkins","count":2},{"name":"Carlos Alexandro Becker","email":"caarlos0","login":"caarlos0","count":1},{"name":"Brian Michel","email":"brian.michel@gmail.com","login":"brianmichel","count":1},{"name":"Apoorva Jagtap","email":"35304110+apoorvajagtap","login":"apoorvajagtap","count":1},{"name":"Andrews Medina","email":"andrewsmedina@gmail.com","login":"andrewsmedina","count":1},{"name":"Harshavardhana","email":"harsha@minio.io","login":"harshavardhana","count":1},{"name":"Gregor Weckbecker","email":"gregor@feiner-fug.net","login":"g-w","count":1},{"name":"Euan Kemp","email":"euank@euank.com","login":"euank","count":1},{"name":"Eric Skoglund","email":"eric@pagefault.se","login":"EricIO","count":1},{"name":"Diego Siqueira","email":"DiSiqueira","login":"DiSiqueira","count":1},{"name":"David J. Felix","email":"DavidJFelix","login":"DavidJFelix","count":1},{"name":"Andrew Brown","email":"8261769+andrew-werdna","login":"andrew-werdna","count":1},{"name":"Adam Ouellette","email":"adamouellette57@gmail.com","login":"adamo57","count":1},{"name":"Adam Eijdenberg","email":"adam@continusec.com","login":"aeijdenberg","count":1},{"name":"Aaron Yodaiken","email":"y@solidlang.org","login":null,"count":1},{"name":"Andrew Williams","email":"awilliams@intox.com","login":null,"count":1},{"name":"Dave Newman","email":"dave@snappyco.de","login":null,"count":1},{"name":"Mayank Patel","email":"maknahar@yahoo.in","login":null,"count":1},{"name":"Mukhtar Haji","email":"mukhtar.haji@oracle.com","login":null,"count":1},{"name":"Tzu-Jung Lee","email":"roylee@paypal.com","login":null,"count":1},{"name":"Raees","email":"raees.bhatti@gmail.com","login":"RaeesBhatti","count":1},{"name":"Raniere Fernandes de Medeiros","email":"Raninho@Raninho.com.br","login":"raninho","count":1},{"name":"Richard Musiol","email":"mail@richard-musiol.de","login":"neelance","count":1},{"name":"Sean Walberg","email":"sean@ertw.com","login":"swalberg","count":1},{"name":"Sergey Shepelev","email":"temotor@gmail.com","login":"temoto","count":1},{"name":"Shalom Yerushalmy","email":"yershalom@gmail.com","login":"yershalom","count":1},{"name":"Sham Karthik S","email":"53367916+shamkarthik","login":"shamkarthik","count":1},{"name":"Shawn Smith","email":"shawnpsmith@gmail.com","login":"shawnps","count":1},{"name":"Soheil Rahmat","email":"soheilrt314@gmail.com","login":"soheilrt","count":1},{"name":"Souvik Haldar","email":"souvikhaldar32@gmail.com","login":"souvikhaldar","count":1},{"name":"Steffen Wentzel","email":"syncroprism@gmail.com","login":"sy9","count":1},{"name":"Stephan Renatus","email":"srenatus@chef.io","login":"srenatus","count":1},{"name":"Suman Paik","email":"sumanpaik.dev@gmail.com","login":"sumanpaikdev","count":1},{"name":"Tim","email":"timucin.gelici@gmail.com","login":"timucingelici","count":1},{"name":"Timothy Cyrus","email":"tcyrus","login":"tcyrus","count":1},{"name":"Tit Petric","email":"black@scene-si.org","login":"titpetric","count":1},{"name":"Veselkov Konstantin","email":"kostozyb@gmail.com","login":"kveselkov","count":1},{"name":"Zak Chitty","email":"zakwak01@gmail.com","login":"grim-fendango","count":1},{"name":"brandon-height","email":"33162344+brandon-height","login":"brandon-height","count":1},{"name":"cuibuwei","email":"cuibuwei@gmail.com","login":"cuibuwei","count":1},{"name":"delong","email":"fsdelong45@163.com","login":"delong45","count":1},{"name":"eh-steve","email":"16373174+eh-steve","login":"eh-steve","count":1},{"name":"kanozec","email":"30459655+kanozec","login":"kanozec","count":1},{"name":"mitsuteru sawa","email":"mitsuteru.s@gmail.com","login":"mttrs","count":1},{"name":"moeryomenko","email":"moeryomenko@gmail.com","login":"moeryomenko","count":1},{"name":"safeoy","email":"safeoy","login":"safeoy","count":1},{"name":"santsai","email":"xantss@gmail.com","login":"santsai","count":1},{"name":"sekky0905","email":"20237968+sekky0905","login":"sekky0905","count":1},{"name":"tomare","email":"tomare@qq.com","login":"tomare","count":1},{"name":"Cody Oss","email":"CodyOss","login":"CodyOss","count":1},{"name":"Christopher Pfohl","email":"Christopher.Pfohl@gmail.com","login":"Crisfole","count":1},{"name":"Chris Dostert","email":"chrisdostert","login":"chrisdostert","count":1},{"name":"Aaron Taylor","email":"ataylor0123@gmail.com","login":"kujenga","count":1},{"name":"ICHINOSE Shogo","email":"shogo82148@gmail.com","login":"shogo82148","count":1},{"name":"JP Robinson","email":"john.paul.robinson@gmail.com","login":"jprobinson","count":1},{"name":"Jakob Ackermann","email":"das7pad@outlook.com","login":"das7pad","count":1},{"name":"Jille Timmermans","email":"jille@quis.cx","login":"Jille","count":1},{"name":"Jim Kalafut","email":"jim@kalafut.net","login":"kalafut","count":1},{"name":"Joe Wilner","email":"jhwilner1@gmail.com","login":"jwilner","count":1},{"name":"Johan Svensson","email":"johan@atomicplayboy.net","login":"jsvensson","count":1},{"name":"John Nadratowski","email":"john.nadratowski@gmail.com","login":"johnnadratowski","count":1},{"name":"Jonas De Beukelaer","email":"jonas.db@live.co.uk","login":"jonasdebeukelaer","count":1},{"name":"Jongmin Kim","email":"atomaths@gmail.com","login":"atomaths","count":1},{"name":"Julien Schmidt","email":"github@julienschmidt.com","login":"julienschmidt","count":1},{"name":"Klaus Post","email":"klauspost@gmail.com","login":"klauspost","count":1},{"name":"M@","email":"m@cognusion.com","login":"cognusion","count":1},{"name":"Martin Hamrle","email":"martin.hamrle@monetas.net","login":"mhamrle","count":1},{"name":"Matt Casper","email":"matthewvcasper@gmail.com","login":"mcasper","count":1},{"name":"Matthew Riley","email":"mdriley@gmail.com","login":"mmdriley","count":1},{"name":"Michael Grigoryan","email":"56165400+michaelgrigoryan25","login":"michaelgrigoryan25","count":1},{"name":"Michael Li","email":"alimy@gility.net","login":"alimy","count":1},{"name":"Mike Busch","email":"busch.michael@gmail.com","login":"mikelikesbikes","count":1},{"name":"Nguyen Ngoc Trung (Steven)","email":"trunga0@gmail.com","login":"trungnn","count":1},{"name":"Olaf Alders","email":"olaf@wundersolutions.com","login":"oalders","count":1},{"name":"Oliver Tonnhofer","email":"olt@bogosoft.com","login":"olt","count":1},{"name":"Paul B. Beskow","email":"paulbes","login":"paulbes","count":1},{"name":"Peter Waller","email":"p@pwaller.net","login":"pwaller","count":1},{"name":"Pontus Leitzler","email":"leitzler","login":"leitzler","count":1},{"name":"wangming","email":"icattlecoder@gmail.com","login":"icattlecoder","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-12-18T00:00:15.201Z","repositories_count":6131461,"commits_count":926770223,"contributors_count":36007425,"owners_count":1124581,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"gorilla/mux","html_url":"https://github.com/gorilla/mux","last_synced_at":"2025-12-16T07:04:22.460Z","status":"active","issues_count":109,"pull_requests_count":81,"avg_time_to_close_issue":14958787.792682927,"avg_time_to_close_pull_request":12943382.484375,"issues_closed_count":82,"pull_requests_closed_count":64,"pull_request_authors_count":48,"issue_authors_count":106,"avg_comments_per_issue":4.990825688073395,"avg_comments_per_pull_request":2.753086419753086,"merged_pull_requests_count":32,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":4,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":14369231.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":3.5,"past_year_avg_comments_per_pull_request":0.3333333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-16T03:48:04.601Z","updated_at":"2025-12-16T07:04:22.460Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorilla%2Fmux/issues","issue_labels_count":{"table":{"bug":42,"question":31,"stale":22,"enhancement":11,"help wanted":4,"proposal":2,"wontfix":1,"documentation":1,"waiting on new maintainer":1,"size/S":1}},"pull_request_labels_count":{"table":{"size/M":18,"size/XS":15,"size/L":13,"size/S":6,"stale":5,"enhancement":1,"build system":1,"bug":1,"needs review":1}},"issue_author_associations_count":{"table":{"NONE":104,"CONTRIBUTOR":4,"MEMBER":1}},"pull_request_author_associations_count":{"table":{"NONE":53,"CONTRIBUTOR":19,"MEMBER":9}},"issue_authors":{"table":{"elithrar":2,"amills-vibeirl":2,"johndpope":2,"komuw":1,"vijay8059":1,"mhollowaynj":1,"aleksen":1,"sm4ll-3gg":1,"bbest-airmatrix":1,"roy-kim-33":1,"fharding1":1,"aoisensi":1,"Ujjwalroy":1,"Leon16":1,"Esimseitm":1,"cjellick":1,"x1unix":1,"slaff-bg":1,"j-maltese":1,"gotjosh":1,"rbucker":1,"jiangjjl":1,"sdewilde":1,"gorshkov-leonid":1,"maheshimac":1,"rubymongoose":1,"nachi2609":1,"patrickjane":1,"jdenmak":1,"glinton":1,"silverskater":1,"mindwingx":1,"zekth":1,"fenollp":1,"reedchan7":1,"iarsham":1,"srinathgs":1,"prr123":1,"BlasterAlex":1,"zorro0799":1,"thepixelmonk":1,"benyanke":1,"Almaani41":1,"marwan-at-work":1,"MariuszJu":1,"Natannegara":1,"NehaMittal3010":1,"DisruptiveMind":1,"grsmv":1,"KrullBorg":1,"tchap":1,"noelukwa":1,"imjmakki":1,"crenshaw-dev":1,"foragerDev":1,"ajay-aravind":1,"Fyria30":1,"Philio":1,"crownk1997":1,"clockworksoul":1,"streamer45":1,"Boichenko":1,"SagarSingh2003":1,"jub0bs":1,"kjagannath3":1,"ellismg":1,"rayterrill":1,"MSE99":1,"derekdowling":1,"Algebra8":1,"davidmichaelkarr":1,"antflux":1,"Atm85":1,"yaobg":1,"autumnnn111":1,"Aann102030":1,"PhillipWhillier":1,"AstroNik":1,"NeilBotelho":1,"1Mark":1,"dobegor":1,"flipkickmedia":1,"123liuziming":1,"domcermak":1,"Ivasan7":1,"philicious":1,"kwiat1990":1,"HHC26":1,"moraes":1,"MatejMagat305":1,"KGKallasmaa":1,"squallcx":1,"odeke-em":1,"deBarrosS":1,"akki4vedi":1,"deborggraever":1,"dongzeXD":1,"pcabreus":1,"SaturnsVoid":1,"ajpinedam":1,"akuzni2":1,"edgy-sphere":1,"udonetsm":1,"muhammadqazi":1,"benitogf":1,"GuoGuiRong":1}},"pull_request_authors":{"table":{"coreydaley":11,"cornejong":9,"BlasterAlex":3,"titpetric":3,"rodionovv":2,"oozan":2,"hidu":2,"bravesasha":2,"Kamandlou":2,"fanyiboaa":2,"cuibuwei":2,"selmounik35":2,"GauravRajwada":2,"amustaque97":2,"HiveTraum":2,"francescomari":1,"das7pad":1,"niko-dunixi":1,"gavbaa":1,"michaelgrigoryan25":1,"Jille":1,"sy9":1,"Algebra8":1,"emp3826":1,"shamkarthik":1,"JasonnnW3000":1,"AdamKorcz":1,"jub0bs":1,"sumanpaikdev":1,"sina-devel":1,"elithrar":1,"marianososto":1,"rkilingr":1,"dyc3":1,"sukhjit":1,"eh-steve":1,"with-shrey":1,"shogo82148":1,"marcelom97":1,"roy-kim-33":1,"andrew-werdna":1,"henrikac":1,"nvx":1,"gduchene":1,"oalders":1,"crazehang":1,"abdfnx":1,"FiloSottile":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-12-18T00:00:07.057Z","repositories_count":12297178,"issues_count":35600850,"pull_requests_count":117112898,"authors_count":11068040,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{"bug":3}},"past_year_pull_request_labels_count":{"table":{"size/XS":2,"size/L":1}},"past_year_issue_author_associations_count":{"table":{"NONE":4}},"past_year_pull_request_author_associations_count":{"table":{"NONE":6}},"past_year_issue_authors":{"table":{"aleksen":1,"benyanke":1,"jub0bs":1,"kjagannath3":1}},"past_year_pull_request_authors":{"table":{"fanyiboaa":2,"bravesasha":2,"jub0bs":1,"JasonnnW3000":1}},"maintainers":[{"table":{"login":"coreydaley","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/coreydaley"}},{"table":{"login":"elithrar","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/elithrar"}}],"active_maintainers":[]}},"events":{"total":{"IssuesEvent":4,"WatchEvent":941,"IssueCommentEvent":22,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":1,"PullRequestEvent":7,"ForkEvent":61},"last_year":{"IssuesEvent":3,"WatchEvent":712,"IssueCommentEvent":19,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":1,"PullRequestEvent":3,"ForkEvent":50}},"keywords":["go","golang","gorilla","gorilla-web-toolkit","http","middleware","mux","router"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/issues.yml","sha":null,"kind":"manifest","created_at":"2023-11-13T05:28:52.297Z","updated_at":"2023-11-13T05:28:52.297Z","repository_link":"https://github.com/gorilla/mux/blob/main/.github/workflows/issues.yml","dependencies":[{"id":14459999064,"package_name":"actions/add-to-project","ecosystem":"actions","requirements":"v0.5.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/security.yml","sha":null,"kind":"manifest","created_at":"2023-11-13T05:28:52.584Z","updated_at":"2023-11-13T05:28:52.584Z","repository_link":"https://github.com/gorilla/mux/blob/main/.github/workflows/security.yml","dependencies":[{"id":14459999065,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14459999066,"package_name":"actions/setup-go","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14459999067,"package_name":"securego/gosec","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":14459999068,"package_name":"golang/govulncheck-action","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2023-11-13T05:28:52.969Z","updated_at":"2023-11-13T05:28:52.969Z","repository_link":"https://github.com/gorilla/mux/blob/main/.github/workflows/test.yml","dependencies":[{"id":14459999069,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14459999070,"package_name":"actions/setup-go","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14459999071,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/verify.yml","sha":null,"kind":"manifest","created_at":"2023-11-13T05:28:53.071Z","updated_at":"2023-11-13T05:28:53.071Z","repository_link":"https://github.com/gorilla/mux/blob/main/.github/workflows/verify.yml","dependencies":[{"id":14459999072,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14459999073,"package_name":"actions/setup-go","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14459999074,"package_name":"golangci/golangci-lint-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"go","filepath":"go.mod","sha":null,"kind":"manifest","created_at":"2023-11-13T05:28:53.249Z","updated_at":"2023-11-13T05:28:53.249Z","repository_link":"https://github.com/gorilla/mux/blob/main/go.mod","dependencies":[]}],"score":38.96920416375657,"created_at":"2025-08-07T15:08:21.662Z","updated_at":"2026-06-21T02:30:30.085Z","avatar_url":"https://github.com/gorilla.png","language":"Go","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/362603","html_url":"https://summary.ecosyste.ms/projects/362603"}