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") +```