Something went wrong. Try again.
Simple, idiomatic and lightweight http server.
Something went wrong. Try again.
Go 100%
README.md
ljus #
Simple, idiomatic and lightweight http server.
Install it with:
go get -u anhgelus.world/ljus
Usage #
Quickstart:
s := ljus.New()
s.Handle(ljus.NewRouteFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("hello :D"))
}).SetName("root"))
l, err := net.Listen("tcp", ":8000")
if err != nil {
panic(err)
}
defer l.Close()
err = s.Serve(context.TODO(), l)
if err != nil {
panic(err)
}
Use FastCGI instead of HTTP/1.1:
err = s.ServeFastCGI(context.TODO(), l)
if err != nil {
panic(err)
}
Use a unix socket instead of TCP:
l, err := ljus.ListenSocket("/run/foo/bar", os.FileMode(Oo766))
if err != nil {
panic(err)
}
defer l.Close()
Group routes:
g := ljus.NewGroup("/foo")
g.SetName("foo group")
g.Add(ljus.NewRouteFunc("/bar", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("URI: /foo/bar"))
}).SetName("bar"))
s.Handle(g)
Use a middleware:
s.Use(middleware.Log(slog.Default(), false, false))