//go:build server || (!server && !client) package main import ( "log" "time" "github.com/noahlann/nnet/pkg/nnet" ) func main() { cfg := &nnet.Config{ Addr: "tcp://:8085", } srv, err := nnet.NewServer(cfg) if err != nil { log.Fatal(err) } // Simple logging middleware logger := func(next nnet.Handler) nnet.Handler { return func(ctx nnet.Context) error { start := time.Now() err := next(ctx) _ = ctx.Response().Write([]byte{}) // no-op to ensure response object used _ = start return err } } // Group with middleware g := srv.Router().Group() g.Use(func(ctx nnet.Context) error { return nil }, logger(func(ctx nnet.Context) error { return nil })) // Register route in group g.RegisterString("/hello", func(ctx nnet.Context) error { return ctx.Response().WriteString("hello with middleware") }) log.Println("middleware server on :8085") if err := srv.Start(); err != nil { log.Fatal(err) } }