๐Ÿ“ฆ go-chi / render

easily manage HTTP request / response payloads of Go HTTP services

โ˜… 324 stars โ‘‚ 64 forks ๐Ÿ‘ 324 watching โš–๏ธ MIT License
๐Ÿ“ฅ Clone https://github.com/go-chi/render.git
HTTPS git clone https://github.com/go-chi/render.git
SSH git clone git@github.com:go-chi/render.git
CLI gh repo clone go-chi/render
Peter Kieltyka Peter Kieltyka Merge pull request #51 from abdullah-alaadine/master 14f1cb3 2 years ago ๐Ÿ“ History
๐Ÿ“‚ master View all commits โ†’
๐Ÿ“ .github
๐Ÿ“„ .gitignore
๐Ÿ“„ content_type.go
๐Ÿ“„ decoder.go
๐Ÿ“„ go.mod
๐Ÿ“„ go.sum
๐Ÿ“„ LICENSE
๐Ÿ“„ README.md
๐Ÿ“„ render.go
๐Ÿ“„ responder.go
๐Ÿ“„ README.md

render

tests Go Report Card Go Reference

The render package helps manage HTTP request / response payloads.

Every well-designed, robust and maintainable Web Service / REST API also needs well-defined request and response payloads. Together with the endpoint handlers, the request and response payloads make up the contract between your server and the clients calling on it.

Typically in a REST API application, you will have your data models (objects/structs) that hold lower-level runtime application state, and at times you need to assemble, decorate, hide or transform the representation before responding to a client. That server output (response payload) structure, is also likely the input structure to another handler on the server.

This is where render comes in - offering a few simple helpers and interfaces to provide a simple pattern for managing payload encoding and decoding.

We've also combined it with some helpers for responding to content types and parsing request bodies. Please have a look at the rest example which uses the latest chi/render sub-pkg.

All feedback is welcome, thank you!