kuvia2/vendor/github.com/flamego/flamego
2022-01-15 00:09:03 +01:00
..
inject Init 2022-01-15 00:09:03 +01:00
internal/route Init 2022-01-15 00:09:03 +01:00
.editorconfig Init 2022-01-15 00:09:03 +01:00
.gitignore Init 2022-01-15 00:09:03 +01:00
.golangci.yml Init 2022-01-15 00:09:03 +01:00
codecov.yml Init 2022-01-15 00:09:03 +01:00
context.go Init 2022-01-15 00:09:03 +01:00
flame.go Init 2022-01-15 00:09:03 +01:00
handler.go Init 2022-01-15 00:09:03 +01:00
LICENSE Init 2022-01-15 00:09:03 +01:00
logger.go Init 2022-01-15 00:09:03 +01:00
mock.go Init 2022-01-15 00:09:03 +01:00
README.md Init 2022-01-15 00:09:03 +01:00
recovery.go Init 2022-01-15 00:09:03 +01:00
render.go Init 2022-01-15 00:09:03 +01:00
request.go Init 2022-01-15 00:09:03 +01:00
response_writer.go Init 2022-01-15 00:09:03 +01:00
return_handler.go Init 2022-01-15 00:09:03 +01:00
router.go Init 2022-01-15 00:09:03 +01:00
static.go Init 2022-01-15 00:09:03 +01:00

Flamego Flamego

GitHub Workflow Status Codecov GoDoc Sourcegraph

Flamego is a fantastic modular Go web framework boiled with dependency injection.

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.16.

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

Getting help

Users and projects

  • Cardinal: Attack-defence CTF platform.
  • mebeats: Realtime heartbeat monitor service based on Mi band.
  • Just send a PR to add yours!

License

This project is under the MIT License. See the LICENSE file for the full license text.