Gorilla is a web toolkit for the Go programming language. Currently these packages are available:
- gorilla/mux is a powerful URL router and dispatcher.
- gorilla/reverse produces reversible regular expressions for regexp-based muxes.
- gorilla/rpc implements RPC over HTTP with codec for JSON-RPC.
- gorilla/schema converts form values to a struct.
- gorilla/securecookie encodes and decodes authenticated and optionally encrypted cookie values.
- gorilla/sessions saves cookie and filesystem sessions and allows custom session backends.
- gorilla/websocket implements the WebSocket protocol defined in RFC 6455.
- gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention middleware.
- gorilla/handlers is a collection of useful handlers for Go's net/http package.
Installation
Run "go get" pointing to a package. For example, to install gorilla/mux:
$ go get github.com/gorilla/mux
Or clone a repository and use the source code directly:
$ git clone git://github.com/gorilla/mux.git
For Google App Engine, create a directory tree inside your app and clone the repository there:
$ cd myapp $ mkdir -p github.com/gorilla $ cd github.com/gorilla $ git clone git://github.com/gorilla/mux.git
Community
Join the gorilla-web mailing list.
FAQ
Q: Is Gorilla a framework?
A: No, it is a toolkit. Just use what you need with your favorite framework or the http package.
Q: Why the name Gorilla?
A: Because it starts with "Go". Also, we want to raise awareness about endangered primates.
Q: Can I buy a fluffy toy of that tiny cute gorilla from your logo?
A: Not yet.
Testimonials
"Gorilla is fresh and tidy. It's like wearing recently washed underpants." -- Geekoid, on Hacker News
"I wish Gorilla was written in Haskell." -- Rasmus Jørgensen, Haskell developer
"Come on... what's next? Goldfish? Goat? Goose?!?" -- AnonymousCoward, on Reddit
License
Gorilla is licensed under the New BSD License.