Quick question: What is the best way to release backward incompatible changes in Go ? Is there a versioning convention emerging in addition to the repo URL ? Semver ? (I may want to change a few things in the https://github.com/ant0ine/go-json-rest interface)
In order to keep the code clean, I implemented most of the features of go-json-rest using the notion of http middleware. Basically, wrapping standard http.Handlers, and using a shared "env" data structure for communication between them. So far, I kept this mechanism private, but I'm thinking to make it public, and maybe offer a plugin interface based on that. In practice, the user will directly access http.Request instead of rest.Request (a subclass instance) and the methods provided by rest.Request will be moved to the new public Env object. This is just an idea for now, but this is why I was thinking about how to release breaking changes.
Add a comment...