1
0
Fork
You've already forked growel
0
🐺 Minimal, headless, zero-dependency Web framework written in Go
  • Go 100%
Find a file
eltrac 896c25a89b
Some checks failed
Test Go / build (push) Has been cancelled
docs: update module path
2026年03月25日 11:27:18 +08:00
.github/workflows chore(github): setup go test workflow 2025年12月02日 17:24:43 +08:00
.gitignore chore(git): ignore main.go, which is for local testing 2025年12月03日 15:07:54 +08:00
context.go feat: provide basic data getters 2025年12月03日 16:10:50 +08:00
context_test.go style: run gofmt 2025年12月04日 12:06:12 +08:00
engine.go feat: provide basic data getters 2025年12月03日 16:10:50 +08:00
engine_test.go refactor: use standard Go tests 2025年11月27日 11:45:00 +08:00
go.mod docs: update module path 2026年03月25日 11:27:18 +08:00
group.go style: run gofmt and remove pointless comments 2025年12月03日 14:47:01 +08:00
group_test.go test: netsted group 2025年12月03日 14:49:52 +08:00
LICENSE docs: add MIT License 2025年11月27日 12:03:27 +08:00
logger.go chore: add a logger 2025年12月09日 11:26:31 +08:00
README.md docs: update roadmap 2025年12月12日 14:34:46 +08:00
router.go refactor: use vanilla URL.Query() instead of a custom parser 2025年12月03日 15:36:29 +08:00
router_test.go test: clean up after 264ab71801 2025年12月03日 15:48:37 +08:00
types.go feat: provide basic data getters 2025年12月03日 16:10:50 +08:00

Growel

Minimal, headless, zero-dependency Web framework written in Go. This is toy software I develop to learn, so do not use in production.

Usage

e:=growel.New()e.GET("/hello",func(c*growel.Context){c.JSON(200,map[string]string{"message":"Hello, Growel!"})})e.Group("/api",func(api*growel.Group){api.Group("/user",func(user*growel.Group){user.GET("/",func(c*growel.Context){c.JSON(200,Users)})user.GET("/:uid",func(c*growel.Context){uid,err:=strconv.Atoi(c.Params["uid"])iferr!=nil{c.BadRequest("Invalid user ID")return}for_,user:=rangeUsers{ifuser.ID==uid{c.JSON(200,user)return}}c.NotFound("User not found")})})})

Roadmap

  • Authorization with token
  • Panic recovery
  • CORS support
  • Custom 404 handler
  • Context.Redirect()
  • File Upload
  • Serve static files
  • Engine.shutdown()
  • TLS
  • Wildcard routing *
  • Parameter type support, ParamInt() ParamString()