This commit is contained in:
Pedro Pérez 2024-11-12 10:14:30 +01:00
parent fb9904cf03
commit 3c239f6114
2 changed files with 15 additions and 0 deletions

View File

@ -11,6 +11,7 @@ func main() {
r := ron.New() r := ron.New()
r.GET("/", helloWorld) r.GET("/", helloWorld)
r.GET("/json", helloWorldJSON)
r.POST("/another", anotherHelloWorld) r.POST("/another", anotherHelloWorld)
slog.Info("Server is running at http://localhost:8080") slog.Info("Server is running at http://localhost:8080")
@ -24,3 +25,7 @@ func helloWorld(c *ron.Context) {
func anotherHelloWorld(c *ron.Context) { func anotherHelloWorld(c *ron.Context) {
c.W.Write([]byte("another hello world")) c.W.Write([]byte("another hello world"))
} }
func helloWorldJSON(c *ron.Context) {
c.JSON(200, map[string]string{"message": "hello world"})
}

10
ron.go
View File

@ -2,6 +2,7 @@ package ron
import ( import (
"context" "context"
"encoding/json"
"net/http" "net/http"
) )
@ -12,6 +13,15 @@ type Context struct {
E *Engine E *Engine
} }
func (c *Context) JSON(code int, data interface{}) {
c.W.WriteHeader(code)
c.W.Header().Set("Content-Type", "application/json")
encoder := json.NewEncoder(c.W)
if err := encoder.Encode(data); err != nil {
http.Error(c.W, err.Error(), http.StatusInternalServerError)
}
}
type Engine struct { type Engine struct {
mux *http.ServeMux mux *http.ServeMux
} }