quartzgun
quartzgun is a basic web framework in Go which provides the following primitives:
- static route trees
- dynamic routes which can capture parameters by regex
- supports
func (http.Handler) http.Handler
middleware pattern - builtin
renderer
s as endpoints of middleware chains, for rendering templated HTML or providing JSON/XML data for an API endpoint UserStore
interface and login/logout wrapper functions for user authentication- proof of concept implementation of
UserStore
with indental storage backend - some additional middleware that takes the work out of authentication and CSRF protection
The framework is designed to enable speedy development of websites and APIs. It's inspired by Django and Express in terms of the ease of use and speed of development, but interpreted through the explicit and minimal design aesthetic of Go (and with the safety and performance benefits that come with the language).
See the readme for up-to-date roadmap and features -- development is in the early stages. A test suite is planned, as well as possibly more UserStore
implementations and maybe sort of Data Access interface.
- source code
- go module
hacklab.nilfm.cc/quartzgun