httpin
httpin copied to clipboard
🍡 HTTP Input for Go - HTTP Request from/to Go Struct (Bi-directional Data Binding between Go Struct and http.Request)
Hi, is there a way to parse and validate custom time format? For example, I want a query parameter which doesn't have to have a timezone, like: 2022-05-07T12:45:13 Thanks in...
Errors occurred [here](https://github.com/ggicci/httpin/blob/c9a702a8020bbb6686d8176c9698d0894018d243/httpin.go#L105) can be posted to clients [here](https://github.com/ggicci/httpin/blob/c9a702a8020bbb6686d8176c9698d0894018d243/middleware.go#L61). Which is ambiguous.
Since I've found a way to [embed go playground on static websites](https://ggicci.me/goplay). One enhancement can be done to the httpin docs is to add sample code with go playground to...
I'm planing to publish the first stable release of this program. If any of you were using this library in your production environment, please feel free to leave a comment...
Though **httpin** had provided an easy way to [add your custom directive](https://ggicci.github.io/httpin/directives/custom). If httpin can provide some common used directives, it would be helpful. e.g. - [ ] to_lower -...
Due to [this](https://github.com/ggicci/httpin/blob/3b521e674025b548c679e14c1d9733a0660534c6/resolver.go#L160) check and potentially missing implementation, a mix of JSON/XML bodies along with other directives is not possible. This blocks common REST calls, for example creating/updating entities (`POST...
- [x] [net/http](https://ggicci.github.io/httpin/integrations/http) - [x] [go-chi/chi](https://ggicci.github.io/httpin/integrations/gochi) - [x] [gorilla/mux](https://ggicci.github.io/httpin/integrations/gorilla) - [x] [gin-gonic/gin](https://ggicci.github.io/httpin/integrations/gin) - [x] [go-restful](https://ggicci.github.io/httpin/integrations/go-restful), by #23 - [ ] add more here...
Expose core.ErrUnsupportedType so clients can use errors.Is()
There are different types of error that can occur when decoding a request. 1. Client errors where invalid data was passed, i.e. a missing required field 2. Implementation errors -...