* remove configQuiet from Config
configQuiet was not an end user setting.
The logging setup is now an internal parameter.
* move proxy uri validation to Private dir
The good part is that protolude 0.3.0 builds with GHC 8.10.
The bad part is that this change is a bit painful:
- the default `toS` has changed to no longer convert to and from ByteString
- similarly, `show` no longer outputs ByteString
The changes here are pretty much minimal to keep things compiling; I didn't
see a nice way to work with the new ConvertText class, even though `toUtf8`
seems like it might help if used besides `toS` at just the right spots.
Two changes:
- tags are now an insert-ordered hashset
- type_ .~ -> type_ ?~ with some magic type inference
This also updates stack.yaml to the newest GHC 8.6 LTS release.
* Update config default; Copy non-defaults
* Update .stylish-haskell config version to match pgrst
* Apply stylish haskell to all files
* CircleCI config
* Remove redundant import.
What is used from Network.HTTP.Types.Headers is also exported by Network.HTTP.Types.
* Grouped imports
* Show un-styled files on CircleCI failure
* Fix styling imports
* Apply adhoc standard correctly
* Fix#933, update externals docs url to current version
* Fix#962, openApi don't err on nonexistent schema
* Fix#954, make OpenAPI rpc output dependent on user privileges
* WIP: remove non-openapi root spec
* Refactor ContentType
Different endpoints will favor one type over another
* Permit different Accept headers per endpoint
* Lint
* Add charset to Content-Type only when used as a header
Keep it out of error messages
* Accept: */* is last resort, not first
* Changelog
* makeMimeList consistently
* Remove schema description from OPTIONS response
* Allow a singular entity to be returned from an update
Since a `PATCH` will be an update that could affect many rows, there might be
more than one object returned. By allowing asking for a singular response,
the/an object will be returned instead of a list. This is useful in cases when
the `PATCH` is against single entity (i.e. `/items?pkey=eq.99`).
* Add tests for plurality=singular for `PATCH` requests
* Disallow updating more than one row if `plurality=singular`
As discussed in #634, we don't want to allow updating several rows with
a `PATCH` request when the `Prefer` header specifies
`return=representation;plurality=singular` as this would almost
certainly be a client error.
* Add test for patching multiple objects with singular response
Patching > 1 object with `return=representation;plurality=singular`
should return `400 Bad Request`.
* Only add singleton range for read API requests
* Disallow inserting more than one row if `plurality=singular`
Disallow inserting several rows with a `POST` request when the `Prefer`
header specifies `return=representation;plurality=singular` as this
would almost certainly be a client error.
* Only import `q` from `Text.InterpolatedString.Perl6`
* Update OpenAPI response for PATCH/POST to mention `plurality=singular`
The OpenAPI response for PATCH/POST requests now includes the `Prefer` value
`return=representation;plurality=singular`.
* Add entry in changelog
* Replace Prelude import for Protolude in middleware
* Remove qualifier from Text type
* Replace Prelude for Protolude, replace 'cs' for 'toS' calls, also change some name bindings
* Replace Prelude in main for Protolude. Replace error calls for panic calls. Also replace cs for toS
* Replace Prelude for Protolude
* Replace Prelude for Protolude in OpenAPI