From da47e3f63d65f9b146fabf7518b5258e221fa5c3 Mon Sep 17 00:00:00 2001 From: Sky Johnson Date: Thu, 5 Sep 2024 22:02:29 -0500 Subject: [PATCH] Update README --- README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/README.md b/README.md index 053c9be..aa135c6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,49 @@ # Web +A fast HTTP/1.1 web server that can sit behind a reverse proxy like `caddy` or `nginx` for HTTP 1/2/3 support. + +## Features + +- High performance +- Low latency +- Scales incredibly well with the number of routes + +## Installation + +```shell +go get git.asharkk.net/Go/Web +``` + +## Usage + +```go +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") +```