Flamego is a modular Go framework for building composable systems, and equips the most powerful routing syntax among all web frameworks within the Go ecosystem.
go get github.com/flamego/flamegopackage main
import "github.com/flamego/flamego"
func main() {
f := flamego.Classic()
f.Get("/", func() string {
return "Hello, Flamego!"
})
f.Run()
}- The most powerful routing syntax among all web frameworks within the Go ecosystem.
- Limitless routes nesting and grouping.
- Inject middleware at wherever you want.
- Integrate with any existing Go web application non-intrusively.
- Dependency injection via function signature to write testable and maintainable code.
- 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
- New to Flamego? Check out the starter guide!
- Have any questions? Answers may be found in our FAQs.
- Please file an issue or start a discussion if you want to reach out.
- Follow our Twitter to stay up to the latest news.
- Our brand kit is also available on GitHub!
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 ./...This project is under the MIT License. See the LICENSE file for the full license text.