https://github.com/julienschmidt/httprouter
go golang http httprouter mux router
Score: 36.71018577680638
Last synced: about 12 hours ago
JSON representation
Repository metadata:
A high performance HTTP request router that scales well
- Host: GitHub
- URL: https://github.com/julienschmidt/httprouter
- Owner: julienschmidt
- License: bsd-3-clause
- Created: 2013-12-05T15:10:55.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-07-22T10:31:53.000Z (over 1 year ago)
- Last Synced: 2026-01-20T08:25:18.873Z (21 days ago)
- Topics: go, golang, http, httprouter, mux, router
- Language: Go
- Homepage: https://pkg.go.dev/github.com/julienschmidt/httprouter
- Size: 259 KB
- Stars: 17,092
- Watchers: 304
- Forks: 1,471
- Open Issues: 83
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Owner metadata:
- Name: Julien Schmidt
- Login: julienschmidt
- Email:
- Kind: user
- Description:
- Website: https://julienschmidt.com
- Location: Cologne, Germany
- Twitter:
- Company: SumUp
- Icon url: https://avatars.githubusercontent.com/u/944947?u=d89b2fb0f9341390f25aa1e3c988337ba81efb8f&v=4
- Repositories: 34
- Last Synced at: 2023-04-03T22:16:21.365Z
- Profile URL: https://github.com/julienschmidt
GitHub Events
Total
- Fork event: 23
- Issue comment event: 12
- Issues event: 2
- Pull request event: 3
- Watch event: 516
- Total: 556
Last Year
- Fork event: 18
- Issue comment event: 8
- Issues event: 1
- Pull request event: 2
- Watch event: 409
- Total: 438
Committers metadata
Last synced: about 1 month ago
Total Commits: 272
Total Committers: 53
Avg Commits per committer: 5.132
Development Distribution Score (DDS): 0.202
Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0
| Name | Commits | |
|---|---|---|
| Julien Schmidt | g****b@j****m | 217 |
| Javier Provecho Fernandez | j****n@g****m | 2 |
| Philipp Franke | d****v@p****m | 2 |
| da-z | d****z | 2 |
| Henrik Johansson | d****r@g****m | 1 |
| Hildeberto Mendonça | 2****o | 1 |
| Huan Wang | f****n@g****m | 1 |
| Jeremy Loy | j****y@i****m | 1 |
| John Jeffery | j****y@s****u | 1 |
| Joseph Mukorivo | j****o@g****m | 1 |
| Karl Pokus | k****s@g****m | 1 |
| Luis Alfonso Higuera Gamboa | a****o@o****m | 1 |
| Marcel Edmund Franke | m****e@g****m | 1 |
| Marcus Franke | m****e@g****m | 1 |
| xpume | 7****8@q****m | 1 |
| Cornel Damian | c****n | 1 |
| Darren Scerri | d****n@s****e | 1 |
| David Sharnoff | g****b@d****g | 1 |
| Edward Betts | e****d@4****m | 1 |
| Florin Patan | f****n@g****m | 1 |
| Fov | 7****0@q****m | 1 |
| George MacRorie | m****e@g****m | 1 |
| Grant Stephens | g****t@s****a | 1 |
| Greg Dietsche | G****e@c****u | 1 |
| Harmen | h****m@d****l | 1 |
| Robert Deusser | i****n@o****m | 1 |
| soren yang | S****g@f****m | 1 |
| oov | i****r@g****m | 1 |
| lianxm | 1****9@q****m | 1 |
| dbubel | 5****l | 1 |
| and 23 more... | ||
Issue and Pull Request metadata
Last synced: 2 months ago
Total issues: 65
Total pull requests: 69
Average time to close issues: 7 months
Average time to close pull requests: 8 months
Total issue authors: 60
Total pull request authors: 50
Average comments per issue: 2.62
Average comments per pull request: 1.8
Merged pull request: 16
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 3
Past year average time to close issues: N/A
Past year average time to close pull requests: 1 minute
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 3.0
Past year average comments per pull request: 0.33
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- ghost (3)
- bentcoder (3)
- ta1bbty (2)
- superbest777 (1)
- pnsvk (1)
- yumxu (1)
- wrouesnel (1)
- smikulcik (1)
- nektro (1)
- dbhys4github (1)
- solarfly73 (1)
- jxskiss (1)
- yshym (1)
- gsquire (1)
- mikepc (1)
Top Pull Request Authors
- libra9z (4)
- muir (3)
- panjf2000 (3)
- Conni2461 (2)
- champon1020 (2)
- santosh653 (2)
- ducknificient (2)
- aayymann (2)
- thinkerou (2)
- BobConanDev (2)
- sam-peach (2)
- xpume (2)
- josemukorivo (2)
- dbubel (2)
- htmfilho (2)
Top Issue Labels
- feature (3)
- question (3)
- bug (2)
- duplicate (1)
Top Pull Request Labels
- feature (3)
- bug (2)
- performance (1)
Package metadata
- Total packages: 8
- Total downloads: unknown
- Total docker downloads: 9,635,039,781
- Total dependent packages: 5,197 (may contain duplicates)
- Total dependent repositories: 104,251 (may contain duplicates)
- Total versions: 32
proxy.golang.org: github.com/julienschmidt/httprouter
Package httprouter is a trie based high performance HTTP request router. A trivial example is: The router matches incoming requests by the request method and the path. If a handle is registered for this path and method, the router delegates the request to that function. For the methods GET, POST, PUT, PATCH and DELETE shortcut functions exist to register handles, for all other methods router.Handle can be used. The registered path, against which the router matches incoming requests, can contain two types of parameters: Named parameters are dynamic path segments. They match anything until the next '/' or the path end: Catch-all parameters match anything until the path end, including the directory index (the '/' before the catch-all). Since they match anything until the end, catch-all parameters must always be the final path element. The value of parameters is saved as a slice of the Param struct, consisting each of a key and a value. The slice is passed to the Handle func as a third parameter. There are two ways to retrieve the value of a parameter:
- Homepage: https://github.com/julienschmidt/httprouter
- Documentation: https://pkg.go.dev/github.com/julienschmidt/httprouter#section-documentation
- Licenses: BSD-3-Clause
- Latest release: v1.3.0 (published over 6 years ago)
- Last Synced: 2026-01-11T11:41:52.772Z (29 days ago)
- Versions: 4
- Dependent Packages: 5,197
- Dependent Repositories: 104,251
- Docker Downloads: 9,635,039,781
-
Rankings:
- Dependent repos count: 0.009%
- Dependent packages count: 0.038%
- Docker downloads count: 0.039%
- Average: 0.243%
- Stargazers count: 0.482%
- Forks count: 0.649%
proxy.golang.org: github.com/julienSchmidt/httprouter
Package httprouter is a trie based high performance HTTP request router. A trivial example is: The router matches incoming requests by the request method and the path. If a handle is registered for this path and method, the router delegates the request to that function. For the methods GET, POST, PUT, PATCH and DELETE shortcut functions exist to register handles, for all other methods router.Handle can be used. The registered path, against which the router matches incoming requests, can contain two types of parameters: Named parameters are dynamic path segments. They match anything until the next '/' or the path end: Catch-all parameters match anything until the path end, including the directory index (the '/' before the catch-all). Since they match anything until the end, catch-all parameters must always be the final path element. The value of parameters is saved as a slice of the Param struct, consisting each of a key and a value. The slice is passed to the Handle func as a third parameter. There are two ways to retrieve the value of a parameter:
- Homepage: https://github.com/julienSchmidt/httprouter
- Documentation: https://pkg.go.dev/github.com/julienSchmidt/httprouter#section-documentation
- Licenses: BSD-3-Clause
- Latest release: v1.3.0 (published over 6 years ago)
- Last Synced: 2026-01-02T04:00:17.479Z (about 1 month ago)
- Versions: 4
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Stargazers count: 0.399%
- Forks count: 0.474%
- Average: 4.305%
- Dependent packages count: 6.999%
- Dependent repos count: 9.346%
proxy.golang.org: github.com/JulienSchmidt/httprouter
Package httprouter is a trie based high performance HTTP request router. A trivial example is: The router matches incoming requests by the request method and the path. If a handle is registered for this path and method, the router delegates the request to that function. For the methods GET, POST, PUT, PATCH and DELETE shortcut functions exist to register handles, for all other methods router.Handle can be used. The registered path, against which the router matches incoming requests, can contain two types of parameters: Named parameters are dynamic path segments. They match anything until the next '/' or the path end: Catch-all parameters match anything until the path end, including the directory index (the '/' before the catch-all). Since they match anything until the end, catch-all parameters must always be the final path element. The value of parameters is saved as a slice of the Param struct, consisting each of a key and a value. The slice is passed to the Handle func as a third parameter. There are two ways to retrieve the value of a parameter:
- Homepage: https://github.com/JulienSchmidt/httprouter
- Documentation: https://pkg.go.dev/github.com/JulienSchmidt/httprouter#section-documentation
- Licenses: BSD-3-Clause
- Latest release: v1.3.0 (published over 6 years ago)
- Last Synced: 2026-01-02T04:00:16.735Z (about 1 month ago)
- Versions: 4
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Stargazers count: 0.399%
- Forks count: 0.474%
- Average: 4.305%
- Dependent packages count: 6.999%
- Dependent repos count: 9.346%
proxy.golang.org: github.com/julienschmIDt/httprouter
Package httprouter is a trie based high performance HTTP request router. A trivial example is: The router matches incoming requests by the request method and the path. If a handle is registered for this path and method, the router delegates the request to that function. For the methods GET, POST, PUT, PATCH and DELETE shortcut functions exist to register handles, for all other methods router.Handle can be used. The registered path, against which the router matches incoming requests, can contain two types of parameters: Named parameters are dynamic path segments. They match anything until the next '/' or the path end: Catch-all parameters match anything until the path end, including the directory index (the '/' before the catch-all). Since they match anything until the end, catch-all paramerters must always be the final path element. The value of parameters is saved as a slice of the Param struct, consisting each of a key and a value. The slice is passed to the Handle func as a third parameter. There are two ways to retrieve the value of a parameter:
- Homepage: https://github.com/julienschmIDt/httprouter
- Documentation: https://pkg.go.dev/github.com/julienschmIDt/httprouter#section-documentation
- Licenses: BSD-3-Clause
- Latest release: v1.3.0 (published over 6 years ago)
- Last Synced: 2026-01-02T04:00:18.507Z (about 1 month ago)
- Versions: 4
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Stargazers count: 0.399%
- Forks count: 0.474%
- Average: 4.305%
- Dependent packages count: 6.999%
- Dependent repos count: 9.346%
proxy.golang.org: github.com/julienschmIdt/httprouter
Package httprouter is a trie based high performance HTTP request router. A trivial example is: The router matches incoming requests by the request method and the path. If a handle is registered for this path and method, the router delegates the request to that function. For the methods GET, POST, PUT, PATCH and DELETE shortcut functions exist to register handles, for all other methods router.Handle can be used. The registered path, against which the router matches incoming requests, can contain two types of parameters: Named parameters are dynamic path segments. They match anything until the next '/' or the path end: Catch-all parameters match anything until the path end, including the directory index (the '/' before the catch-all). Since they match anything until the end, catch-all parameters must always be the final path element. The value of parameters is saved as a slice of the Param struct, consisting each of a key and a value. The slice is passed to the Handle func as a third parameter. There are two ways to retrieve the value of a parameter:
- Homepage: https://github.com/julienschmIdt/httprouter
- Documentation: https://pkg.go.dev/github.com/julienschmIdt/httprouter#section-documentation
- Licenses: BSD-3-Clause
- Latest release: v1.3.0 (published over 6 years ago)
- Last Synced: 2026-01-02T04:00:17.620Z (about 1 month ago)
- Versions: 4
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Stargazers count: 0.399%
- Forks count: 0.474%
- Average: 4.305%
- Dependent packages count: 6.999%
- Dependent repos count: 9.346%
proxy.golang.org: github.com/julienschmidt/httpRouter
- Homepage:
- Documentation: https://pkg.go.dev/github.com/julienschmidt/httpRouter#section-documentation
- Licenses: bsd-3-clause
- Latest release: v1.3.0 (published over 6 years ago)
- Last Synced: 2026-01-02T04:00:16.524Z (about 1 month ago)
- Versions: 4
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%
proxy.golang.org: github.com/julienschmidt/HttpRouter
Package httprouter is a trie based high performance HTTP request router. A trivial example is: The router matches incoming requests by the request method and the path. If a handle is registered for this path and method, the router delegates the request to that function. For the methods GET, POST, PUT, PATCH and DELETE shortcut functions exist to register handles, for all other methods router.Handle can be used. The registered path, against which the router matches incoming requests, can contain two types of parameters: Named parameters are dynamic path segments. They match anything until the next '/' or the path end: Catch-all parameters match anything until the path end, including the directory index (the '/' before the catch-all). Since they match anything until the end, catch-all parameters must always be the final path element. The value of parameters is saved as a slice of the Param struct, consisting each of a key and a value. The slice is passed to the Handle func as a third parameter. There are two ways to retrieve the value of a parameter:
- Homepage: https://github.com/julienschmidt/HttpRouter
- Documentation: https://pkg.go.dev/github.com/julienschmidt/HttpRouter#section-documentation
- Licenses: BSD-3-Clause
- Latest release: v1.3.0 (published over 6 years ago)
- Last Synced: 2026-01-02T04:00:17.057Z (about 1 month ago)
- Versions: 4
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%
proxy.golang.org: github.com/Julienschmidt/httprouter
Package httprouter is a trie based high performance HTTP request router. A trivial example is: The router matches incoming requests by the request method and the path. If a handle is registered for this path and method, the router delegates the request to that function. For the methods GET, POST, PUT, PATCH and DELETE shortcut functions exist to register handles, for all other methods router.Handle can be used. The registered path, against which the router matches incoming requests, can contain two types of parameters: Named parameters are dynamic path segments. They match anything until the next '/' or the path end: Catch-all parameters match anything until the path end, including the directory index (the '/' before the catch-all). Since they match anything until the end, catch-all parameters must always be the final path element. The value of parameters is saved as a slice of the Param struct, consisting each of a key and a value. The slice is passed to the Handle func as a third parameter. There are two ways to retrieve the value of a parameter:
- Homepage: https://github.com/Julienschmidt/httprouter
- Documentation: https://pkg.go.dev/github.com/Julienschmidt/httprouter#section-documentation
- Licenses: BSD-3-Clause
- Latest release: v1.3.0 (published over 6 years ago)
- Last Synced: 2026-01-02T04:00:17.854Z (about 1 month ago)
- Versions: 4
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 7.576%
- Average: 8.472%
- Dependent repos count: 9.368%