go fastest web

package main

import (
	"fmt"
	"time"

	"git.akyoto.dev/go/web"
)

func main() {
	s := web.NewServer()

	// Static route
	s.Get("/", func(ctx web.Context) error {
		return ctx.String("Hello")
	})

	// Parameter route
	s.Get("/blog/:post", func(ctx web.Context) error {
		return ctx.String(ctx.Request().Param("post"))
	})

	// Wildcard route
	s.Get("/images/*file", func(ctx web.Context) error {
		return ctx.String(ctx.Request().Param("file"))
	})

	// Middleware
	s.Use(func(ctx web.Context) error {
		start := time.Now()

		defer func() {
			fmt.Println(ctx.Request().Path(), time.Since(start))
		}()

		return ctx.Next()
	})

	s.Run(":8080")
}
posted @ 2024-07-23 09:18  卓能文  阅读(18)  评论(0)    收藏  举报