Skip to content

A fantastic modular Go web framework with a slim core but limitless extensibility

License

Notifications You must be signed in to change notification settings

flamego/flamego

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flamego Flamego

GitHub Workflow Status Codecov GoDoc Sourcegraph

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

  • Cardinal: Attack-defence CTF platform.
  • mebeats: Realtime heartbeat monitor service based on Mi band.
  • ASoulDocs: Ellien's documentation server.
  • NekoBox: Anonymous question box.
  • Codenotify.run: Codenotify as a Service.
  • Relay: A web server for forwarding events from service A to service B.
  • bilibili-lottery: 一款支持对哔哩哔哩视频或动态评论进行抽奖的小程序
  • pgrok: Poor man's ngrok.
  • Caramelverse: A fashion brand.
  • Sourcegraph Accounts: Centralized accounts system for all of the Sourcegraph-operated services
  • Just send a PR to add yours!

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.