https://github.com/godzillaframework/godzilla
A Powerful Go Full-Stack Web Framework Built For Devs
https://github.com/godzillaframework/godzilla
framework go go-framework go-library go-web-framework goapi godzilla golang linux macos microservics middleware restapi router unix web webframework windows
Last synced: about 1 month ago
JSON representation
A Powerful Go Full-Stack Web Framework Built For Devs
- Host: GitHub
- URL: https://github.com/godzillaframework/godzilla
- Owner: godzillaframework
- License: apache-2.0
- Created: 2021-11-15T13:38:50.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-06-09T13:48:18.000Z (almost 3 years ago)
- Last Synced: 2024-06-19T00:26:34.006Z (almost 2 years ago)
- Topics: framework, go, go-framework, go-library, go-web-framework, goapi, godzilla, golang, linux, macos, microservics, middleware, restapi, router, unix, web, webframework, windows
- Language: Go
- Homepage: https://godzillaframework.github.io
- Size: 79.1 KB
- Stars: 25
- Watchers: 4
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# godzilla
[](https://forthebadge.com)
## About:
- A powerfull go web framework
- Fast 🚀
- Secure 🔒
- Easy Peasy :)
## Features:
- Log Middleware
## Installation:
```
go get -u github.com/godzillaframework/godzilla
```
## Examples:
- a simple api
```golang
package main
import "github.com/godzillaframework/godzilla"
func main() {
gz := godzilla.New()
gz.Get("/index", func(ctx godzilla.Context) {
ctx.SendString("Hello EveryOne!!!")
})
gz.Start(":9090")
}
```
- params
```golang
package main
import "github.com/godzillaframework/godzilla"
func main() {
gz := godzilla.New()
gz.Get("/users/:user", func(ctx godzilla.Context) {
ctx.SendString(ctx.Param("user"))
})
gz.Start(":8080")
}
```
- static files
```golang
package main
import "github.com/godzillaframework/godzilla"
func main() {
gz := godzilla.New()
gz.Static("/imgs", "./images")
/* go to localhost:8080/imgs/image.png */
gz.Start(":8080")
}
```
## middleware:
- Log middleware:
```golang
package main
import (
"log"
"github.com/godzillaframework/godzilla"
)
func main() {
gz := godzilla.New()
logMiddleware := func(ctx godzilla.Context) {
log.Printf("log message!")
ctx.Next()
}
gz.Use(logMiddleware)
gz.Start(":8080")
```
- Unauthorized middleware:
```golang
package main
import (
"log"
"github.com/godzillaframework/godzilla"
)
func main() {
gz := godzilla.New()
unAuthorizedMiddleware := func(ctx godzilla.Context) {
ctx.Status(godzilla.StatusUnauthorized).SendString("You are unauthorized to access this page!")
}
gz.Get("/hello", func(ctx godzilla.Context) {
ctx.SendString("Hello World!")
})
gz.Get("/protected", unAuthorizedMiddleware, func(ctx godzilla.Context) {
ctx.SendString("You accessed a protected page")
})
gz.Start(":8080")
}
```
- example [app](https://github.com/godzillaframework/godzilla-app)
- for more tutorials visit the [docs](https://github.com/godzillaframework/godzilla/blob/master/docs/learngodzilla.md)