Goji is a HTTP request multiplexer, similar to net/http.ServeMux
. It compares incoming requests to a list of registered Patterns, and dispatches to the Handler that corresponds to the first matching Pattern. Goji also supports Middleware (composable shared functionality applied to every request) and uses the standard context
to store request-scoped values.
Install Goji by running the following in your terminal:
$ go get goji.io
"Hello World" looks something like this:
package main
import (
"fmt"
"net/http"
"goji.io"
"goji.io/pat"
)
func hello(w http.ResponseWriter, r *http.Request) {
name := pat.Param(r, "name")
fmt.Fprintf(w, "Hello, %s!", name)
}
func main() {
mux := goji.NewMux()
mux.HandleFunc(pat.Get("/hello/:name"), hello)
http.ListenAndServe("localhost:8000", mux)
}
Please refer to Goji's GoDoc Documentation for a full API reference.