

Flamego is a fantastic modular Go web framework with a slim core but limitless extensibility.
It is the successor of the Macaron, and equips the most powerful routing syntax among all web frameworks within the Go ecosystem.
Installation
The minimum requirement of Go is 1.19.
go get github.com/flamego/flamego
Getting started
package main
import "github.com/flamego/flamego"
func main() {
f := flamego.Classic()
f.Get("/", func() string {
return "Hello, Flamego!"
})
f.Run()
}
Features
Middleware
- Logger - Log requests and response status code
- Recovery - Automatic recovery from panics
- Static - Serve static files
- Renderer - Render content
- template - Go template rendering
- session - User session management
- recaptcha - Google reCAPTCHA verification
- csrf - Generate and validate CSRF tokens
- cors - Cross-Origin Resource Sharing
- binding - Request data binding and validation
- gzip - Gzip compression to responses
- cache - Cache management
- brotli - Brotli compression to responses
- auth - Basic and bearer authentication
- i18n - Internationalization and localization
- captcha - Captcha service
- hcaptcha - hCaptcha verification
Getting help
Users and projects
Development
Install "go-mockgen" and "goimports" to re-generate mocks:
go install github.com/derision-test/go-mockgen/cmd/go-mockgen@latest
go install golang.org/x/tools/cmd/goimports@latest
go generate ./...
License
This project is under the MIT License. See the LICENSE file for the full license text.