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.
The minimum requirement of Go is 1.16.
go get github.com/flamego/flamego
package 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 codeRecovery
- Automatic recovery from panicsStatic
- Serve static filesRenderer
- 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!
- Cardinal: Attack-defence CTF platform.
- mebeats: Realtime heartbeat monitor service based on Mi band.
- ASoulDocs: Ellien's documentation server.
- Just send a PR to add yours!
This project is under the MIT License. See the LICENSE file for the full license text.