// package main contains an example on how to use the ReadHeaders, // same way you can do the ReadQuery, ReadJSON, ReadProtobuf and e.t.c. package main import ( "github.com/kataras/iris/v12" ) type myHeaders struct { RequestID string `header:"X-Request-Id,required"` Authentication string `header:"Authentication,required"` } func main() { app := newApp() // http://localhost:8080 /* myHeaders: main.myHeaders{ RequestID: "373713f0-6b4b-42ea-ab9f-e2e04bc38e73", Authentication: "Bearer my-token", } */ app.Listen(":8080") } func newApp() *iris.Application { app := iris.New() app.Get("/", func(ctx iris.Context) { var hs myHeaders if err := ctx.ReadHeaders(&hs); err != nil { ctx.StopWithError(iris.StatusInternalServerError, err) return } ctx.Writef("myHeaders: %#v", hs) }) return app }