Felix Yan and Steve Chávez
9ea7529f30
Use protolude 0.2.2, replace undefined with witness
...
protolude provides headMay since 0.2.2, it can be used instead of safe.
2018-05-28 13:08:27 -05:00
steve-chavez
f033c2c4b5
Add role-claim-key config value
2018-04-30 11:31:06 -05:00
steve-chavez
5c87fe2704
Add getCurrentTime cache for jwt validation
2018-04-30 11:31:06 -05:00
steve-chavez
108f3cd651
Add Preference-Applied header for POST upsert
...
- Ensure creating nothing on ignore-duplicates succeeds
- Refactor locationF query
2018-02-21 07:33:54 -05:00
steve-chavez
6675821c64
Allow PUT method: UPSERT of a single row
2018-02-21 07:33:54 -05:00
steve-chavez
85b1dc0eb4
Add UPSERT for POST with Prefer:resoultion=merge/ignore-duplicates
2018-02-21 07:33:54 -05:00
steve-chavez
f7e7834a1c
Handle overloaded function case
...
* Add test for params=single-object on GET
* Add tests for procs with DEFAULT args
* Add tests for overloaded functions
* Add test for PATCHing with an empty json array, this previously
gave a "Something is wrong" error
2018-01-10 11:43:16 -05:00
steve-chavez
38f3bcf4a6
Reduce memory usage by avoiding Aeson encode
...
It was detected that Aeson encoding had high memory usage when
the json payload was large, around x60 the payload size.
With this change we get around x10 payload size memory usage.
The encodeUtf8(when doing a Text -> ByteString with `toS`) function
on a large payload also contributed to the high memory usage.
Main idea to reduce the memory usage was to let the ByteString coming
from the request body go to the database unchanged.
2018-01-10 11:43:16 -05:00
steve-chavez
02a286a4b1
Change callProc query to a parametrized query
2018-01-10 11:43:16 -05:00
steve-chavez
188f947437
Maintain backward compatibility on GUC headers feature
...
If pg version >= 9.6 is detected the feature is enabled,
also all of the 9.6 dependent tests are moved to their own spec.
2017-10-18 17:41:55 -05:00
steve-chavez
b9a591aecb
Add ability to map GUC to http response headers
2017-10-18 17:41:55 -05:00
Elliot Murphy and Joe Nelson
3ccae4bb8b
Allow configurable audience claim ( #975 )
2017-09-26 07:29:20 -07:00
Steve Chávez and Joe Nelson
4ba27d84a4
Fix some OpenAPI issues ( #970 )
...
* 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
2017-09-25 23:09:52 -07:00
Steve Chávez and Joe Nelson
cf19ad0369
Allow GET on RPC ( #946 )
2017-09-17 11:16:46 -05:00
Joe Nelson and GitHub
d89937a6f3
Upgrade to fast new hasql ( #836 )
2017-08-10 01:54:15 -05:00
Joe Nelson and GitHub
0ed4215a0d
Support asymmetric JWK ( #919 )
2017-08-09 08:42:00 -05:00
Lucas Desgouilles and Joe Nelson
6d5f72bf5f
Update OpenAPI (SQL COMMENT to description, constraints, cleaning up) ( #885 )
2017-07-22 10:56:23 -05:00
steve-chavez
f0bd507ab9
Add binary output to rpc, Fix #883
2017-06-24 22:45:53 -05:00
steve-chavez
ecd58e1ad2
Refactor rpc to not use count when returning scalar
2017-06-24 21:07:07 -05:00
Joe Nelson and GitHub
50de0536de
Allow csv formatting in rpc output ( #882 )
2017-05-27 00:07:23 -05:00
Steve Chávez and Joe Nelson
3e26c1a83f
Add connection retrying on startup and SIGHUP, Fix #742 ( #869 )
...
* Add connection retrying on startup and SIGHUP, Fix #742
* Ensure that only one connection worker can run at a time
* Change ConnectionError status code to 503 and add automatic connection retrying
2017-05-06 19:11:18 -05:00
Joe Nelson
d99462be01
Revert "Fix swagger-ui when "server-proxy-uri" is not set ( #857 )"
...
This was a bug in swagger-ui, not postgrest
2017-04-29 21:02:14 -05:00
Steve Chávez and Joe Nelson
0a9d9cdded
Fix #701 : allow quoted values for IN operator, refactor and Fix #641 : allow IN filter to have no values ( #854 )
2017-04-11 00:57:44 -05:00
Marios Koulakis and Joe Nelson
8557ee55f5
Update with empty json ( #852 )
2017-04-07 22:21:50 -05:00
Joe Nelson and GitHub
56bdf59e14
Read only proc tx ( #844 )
2017-04-07 12:52:16 -05:00
Feynman Liang and Joe Nelson
77af16c9e4
Fix swagger-ui when "server-proxy-uri" is not set ( #857 )
2017-04-07 08:51:29 -05:00
Feynman Liang and Joe Nelson
0cf49bb8b6
Adds application/json to inspect type ( #853 )
2017-04-06 10:43:56 -05:00
Steve Chávez and Joe Nelson
47b023e858
Fix proc resource embedding issue with search_path and refactor return type ( #831 )
2017-03-20 23:50:42 -07:00
Diogo Biazus and Joe Nelson
206ab163b6
Refactor error type and fix nested error message [ fix #791 ] ( #829 )
2017-03-12 22:02:13 -07:00
Steve Chávez and Joe Nelson
98438c437f
Proposal for binary output ( #802 )
2017-02-14 20:36:51 -08:00
Steve Chávez and Joe Nelson
c15f693dbb
Move DbRequest building functions to new module ( #787 )
2017-01-17 21:59:59 -08:00
Steve Chávez and Joe Nelson
7e2cb5fe1c
Fix alias in select for mutate queries and small refactor ( #779 )
2017-01-16 23:20:02 -08:00
Joe Nelson and GitHub
104a7ed4fa
Use a mime type to request singular JSON responses ( #763 )
2017-01-16 15:11:37 -08:00
Ruslan Talpa and Joe Nelson
16fd3a57ff
Fix #746 ( #769 )
...
also fix broken text env
After the last couple of commits the tests ran correctly only on a
fresh db, in addition, the roles within the db were not created/dropped
on each request and we need that since their privileges differ and we
need to to have an absolute clean db on each execution
2016-12-18 15:46:53 -08:00
Trevor Basinger and Joe Nelson
e364cbc3ff
Support binary (b64) JWT secrets ( #772 )
2016-12-11 09:01:03 -08:00
Diogo Biazus and Joe Nelson
649a841ef4
Fix embeded relations error message ( #767 )
2016-12-10 11:59:17 -08:00
Diogo Biazus
6c275fcec2
Coalesce types UniformObjects and Payload into the new PayloadJSON
2016-11-27 23:55:26 -05:00
Diogo Biazus
16ac034aab
Tidy up postgrest function body
2016-11-27 23:55:19 -05:00
Diogo Biazus
654ac6e62e
Move function to conver ApiRequestError to a Http Response to the Error module.
2016-11-27 23:54:58 -05:00
Diogo Biazus
fec769c80e
Move range validation to userApiRequest.
2016-11-27 23:54:52 -05:00
Diogo Biazus
6a02d9efd5
Remove PayloadParseError matcher from main app case since now we validate the request before building an ApiRequest.
2016-11-27 23:54:48 -05:00
Diogo Biazus
b8ddc30252
Remove ActionInappropriate constructor from type Action since now we validate the request before building an ApiRequest.
2016-11-27 23:54:37 -05:00
Diogo Biazus
47c4fbc8ef
Introduce the type ApiRequestError and make userApiRequest return an Either ApiRequestError ApiRequest
2016-11-27 23:54:23 -05:00
dsimunic and Joe Nelson
ae40641963
Introduce new 'Prefer' header, params=single-object ( #739 )
2016-11-20 14:14:39 -08:00
Diogo Biazus and Joe Nelson
41c1cf6e01
Reduce app function ( #733 )
...
Simplify the big app function
2016-11-10 20:42:00 -08:00
Joe Nelson
9cd65a4033
Avoid calling getPOSIXTime more than necessary
2016-10-03 09:55:28 -07:00
Joe Nelson
2f8ac24128
Do not share JWT secret with SQL
2016-09-24 23:40:54 -07:00
Joe Nelson
12a8c682bd
Use sql to generate jwt, rather than custom haskell
2016-09-24 21:32:47 -07:00
Joe Nelson
62ed9e2c4d
Do not require jwt secret, but die on auth without it
2016-09-24 21:28:08 -07:00
Joe Nelson
449480bf01
Require JWT secret, remove default, optionally read from file
...
Fixes #474 , fixes #495 when file is used
2016-09-24 21:28:08 -07:00