This is a creation in Article, where the information may have evolved or changed.
Goji is a mini-web framework based on Go, and its design is inspired by Sinatra.
Example
A simple Hello World
example
package mainimport ( "fmt" "net/http" "github.com/zenazn/goji" "github.com/zenazn/goji/web")func hello(c web.C, w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %s!", c.URLParams["name"])}func main() { goji.Get("/hello/:name", hello) goji.Serve()}
A sample application is included in the directory of the Goji code example
Characteristics
- Compatible
net/http
- URL pattern (supports both Sinatra-style
/foo/:bar
and regular expressions)
- Re-configurable middleware stack
- Automatic support for Einhorn, SYSTEMD
- Progressive stop, with Einhorn for progressive overloading of zero downline time
- Parameter parsing of Ruby on rails/jquery style
Idea
- Simple. Sinatra style, not Rails style. No magic.
- can be combined. Can be
net/http
combined with, can be http.Handler
used as.
- Free. The author likes Pat very much. Pat implements the Sinatra style of routing gracefully, but it does not allow programmers to use their own thread state during the process of processing requests. The Goji implements the arbitrary context object.
Home
Goji.io