46 lines
2.2 KiB
Markdown
Executable file
46 lines
2.2 KiB
Markdown
Executable file
# GoHTTPRouter
|
|
[](https://godoc.org/gitlab.com/martinr92/gohttprouter)
|
|
[](https://gitlab.com/martinr92/gohttprouter/commits/master)
|
|
[](https://gitlab.com/martinr92/gohttprouter/commits/master)
|
|
[](https://codecov.io/gl/martinr92/gohttprouter)
|
|
[](https://goreportcard.com/report/gitlab.com/martinr92/gohttprouter)
|
|
|
|
GoHTTPRouter is a framework used for HTTP request routing.
|
|
|
|
# Examples
|
|
## Simple Routing
|
|
Just replace the standard router of golang with this one:
|
|
```golang
|
|
router := gohttprouter.New()
|
|
router.HandleFunc(http.MethodGet, "/home", func(response http.ResponseWriter, request *http.Request, info gohttprouter.RoutingInfo) {
|
|
response.Write([]byte("Home"))
|
|
})
|
|
err := http.ListenAndServe("localhost:8080", router)
|
|
```
|
|
|
|
## Routing with placeholder
|
|
A path can also contain placeholder (like :id). If then a request is sent to the url "/user/123" the method gets executed and the URL part (in this case "123") is passed as parameter into your handler function.
|
|
```golang
|
|
router := gohttprouter.New()
|
|
router.HandleFunc(http.MethodGet, "/user/:id", func(response http.ResponseWriter, request *http.Request, info gohttprouter.RoutingInfo) {
|
|
id := info.Parameters["id"]
|
|
})
|
|
err := http.ListenAndServe("localhost:8080", router)
|
|
```
|
|
|
|
# License
|
|
```
|
|
Copyright 2019 Martin Riedl
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
```
|