v0.3.0: Client improvements and small features
General:
- Support optional query parameters by giving type as 'Maybe a'
- Fix bug in query parameter parsing where duplicate or array query parameters would cause an internal server error.
- Show more sensible errors when parent route paths are invalid.
Client-only:
- Support encoding Boolean query parameters
- Send appropriate "content-type" header with all payload-bearing requests.
- URL-encode URL and query parameters
- Add option for adding extra headers to all requests. Example use cases: authentication headers, shared content-type headers, shared accept headers, API version headers.
- Add option for setting client log level, and when using the debug log level, print raw client requests and responses. If the response is JSON, attempt to pretty print the JSON.
- Add helpers for unwrapping response bodies and responses without handling errors. This is to make it easy simply grab a body or a response in cases where throwing the error is the correct handling of the error or e.g. earlier in development.