A fast web framework for Go.
Find a file
2026-04-03 18:11:17 +02:00
.vscode Move module to root 2026-02-17 13:23:17 +01:00
example Simplified routing and fixed #5 2026-03-27 23:31:08 +01:00
extra Use an empty map when rendering without any data for simplified template handling 2026-04-03 18:11:17 +02:00
.gitignore Method not allowed error 2026-02-16 15:07:53 +01:00
app.go Simplified routing and fixed #5 2026-03-27 23:31:08 +01:00
app_test.go Mark more test helper functions accordingly 2026-03-29 17:32:45 +02:00
bind.go Ignore unknown keys in form and query binders 2026-03-14 21:15:25 +01:00
bind_test.go Tests for Bind 2026-03-10 20:22:28 +01:00
bodies.go Simplify bodies.go by re-using functions for more consistency test reliability 2026-03-08 16:22:39 +01:00
bodies_test.go Tests for Bind 2026-03-10 20:22:28 +01:00
config.go Added Renderer interface and html renderer using Go html templates 2026-03-14 14:33:06 +01:00
config_test.go Trusted proxy config tests and fix panic when using IP range for trusted proxy 2026-03-08 12:48:51 +01:00
constants.go Ctx.Bind 2026-02-17 22:27:42 +01:00
Contributing.md Updated note about tests 2026-03-08 16:27:44 +01:00
cookie.go Set default cookie deletion path to root 2026-03-15 11:57:56 +01:00
ctx.go Added Ctx.PostArg (fixes #2) 2026-03-27 23:42:21 +01:00
ctx_test.go Added Ctx.PostArg (fixes #2) 2026-03-27 23:42:21 +01:00
errors.go Error improvements 2026-03-15 15:03:10 +01:00
errors_test.go Mark more test helper functions accordingly 2026-03-29 17:32:45 +02:00
fire_test.go Mark test helper functions appropriately for better error reporting (see #7) 2026-03-29 17:30:57 +02:00
go.mod Added html.Config.MonitorChanges to automatically reparse templates on changes 2026-03-14 15:46:18 +01:00
go.sum Added html.Config.MonitorChanges to automatically reparse templates on changes 2026-03-14 15:46:18 +01:00
group.go Simplified routing and fixed #5 2026-03-27 23:31:08 +01:00
group_test.go Simplified routing and fixed #5 2026-03-27 23:31:08 +01:00
handler.go Move module to root 2026-02-17 13:23:17 +01:00
License.txt Added Readme and License 2026-02-17 13:38:07 +01:00
logger.go Use a separate logger (defaulting to silent) for fasthttp internal logs 2026-03-05 17:44:37 +01:00
path.go Simplified routing and fixed #5 2026-03-27 23:31:08 +01:00
Readme.md Simplify readme 2026-03-14 15:52:43 +01:00
redirect.go Tests for Redirect are now complete 2026-03-08 15:19:13 +01:00
redirect_test.go Mark more test helper functions accordingly 2026-03-29 17:32:45 +02:00
renderer.go Added Renderer interface and html renderer using Go html templates 2026-03-14 14:33:06 +01:00
route.go Simplified routing and fixed #5 2026-03-27 23:31:08 +01:00
route_params.go Simplified routing and fixed #5 2026-03-27 23:31:08 +01:00
router.go Simplified routing and fixed #5 2026-03-27 23:31:08 +01:00
Security.md Added Security.md 2026-03-01 20:22:35 +01:00
types.go Renamed map.go to types.go 2026-02-17 20:36:32 +01:00
unsafe.go Optimizations 2026-02-17 23:16:42 +01:00

🔥 Fire

Fire is a fast web framework for Go, similar in its API to Fiber. In fact, it's almost a complete drop-in replacement for Fiber v3.

This is still in a very early stage of development: it is not at all production ready. Contributions are welcome. Expect improvements over the coming months.

Installing

Note that there are no tagged releases yet, so if you would like to try out Fire, please use our main branch:

go get -u codeberg.org/gofire/fire@main

Usage

func main() {
	app := fire.New()
	app.Get("/", func(c fire.Ctx) error {
		return c.JSON(fire.Map{
			"hello": "world",
		})
	})
	app.Listen(":8080")
}

Relation to Fiber

The only relation to Fiber in this project is its overall API, with some differences:

  • Ctx.Set() becomes Ctx.SetHeader()
  • Ctx.Get() becomes Ctx.Header()
  • Ctx.Get(fiber.HeaderUserAgent) can be done via Ctx.UserAgent()
  • Ctx.Set() with Content-Type is simplified to Ctx.SetContentType()
  • Ctx.Status() becomes Ctx.WithStatus()
  • Ctx.Params() becomes Ctx.Param()
  • Ctx.Locals() becomes Ctx.Local() and Ctx.SetLocal()
  • fiber.Locals[T]() becomes fire.Local[T]()
  • Ctx.RequestCtx() becomes Ctx.Context()

There's also some additional features, such as the github.com/SeraphSecure/bodies/v3 package integrated directly into Fire as fire.ParseModValidate[T] and derivatives.

License

MIT license.