A minimalist HTTP request routing helper for Go.
A minimalist HTTP request routing helper for Go.
The name "R2" stands for "Request Routing". That's all, R2 is just a capable little helper for HTTP request routing, not another fancy web framework that wraps net/http.
R2 is built for people who:
http.Handler
.http.ServeMux
to have better performance and support path parameters.http.Handler
variantOpen your terminal and execute
$ go get github.com/aofei/r2
done.
The only requirement is the Go, at least v1.13.
Create a file named hello.go
package main
import (
"fmt"
"net/http"
"github.com/aofei/r2"
)
func main() {
r := &r2.Router{}
r.Handle("", "/hello/:name", http.HandlerFunc(hello))
http.ListenAndServe("localhost:8080", r)
}
func hello(rw http.ResponseWriter, req *http.Request) {
fmt.Fprintf(rw, "Hello, %s\n", r2.PathParam(req, "name"))
}
and run it
$ go run hello.go
then visit http://localhost:8080/hello/世界
.
If you want to discuss R2, or ask questions about it, simply post questions or ideas here.
If you want to help build R2, simply follow this to send pull requests here.
This project is licensed under the MIT License.
License can be found here.