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.
164 lines
5.7 KiB
Plaintext
164 lines
5.7 KiB
Plaintext
name: postgrest
|
|
description: Reads the schema of a PostgreSQL database and creates RESTful routes
|
|
for the tables and views, supporting all HTTP verbs that security
|
|
permits.
|
|
version: 0.4.4.0
|
|
synopsis: REST API for any Postgres database
|
|
license: MIT
|
|
license-file: LICENSE
|
|
author: Joe Nelson, Adam Baker
|
|
homepage: https://github.com/begriffs/postgrest
|
|
maintainer: cred+github@begriffs.com
|
|
category: Web
|
|
build-type: Simple
|
|
cabal-version: >=1.10
|
|
source-repository head
|
|
type: git
|
|
location: git://github.com/begriffs/postgrest.git
|
|
|
|
Flag CI
|
|
Description: No warnings allowed in continuous integration
|
|
Manual: True
|
|
Default: False
|
|
|
|
executable postgrest
|
|
main-is: Main.hs
|
|
default-extensions: OverloadedStrings, QuasiQuotes, NoImplicitPrelude
|
|
ghc-options:
|
|
-threaded
|
|
-rtsopts
|
|
"-with-rtsopts=-N -I2"
|
|
default-language: Haskell2010
|
|
build-depends: base
|
|
, hasql
|
|
, hasql-pool
|
|
, postgrest
|
|
, protolude
|
|
, text
|
|
, warp
|
|
, bytestring
|
|
, base64-bytestring
|
|
, retry
|
|
if !os(windows)
|
|
build-depends: unix
|
|
|
|
hs-source-dirs: main
|
|
|
|
library
|
|
default-language: Haskell2010
|
|
default-extensions: OverloadedStrings, QuasiQuotes, NoImplicitPrelude
|
|
build-depends: aeson
|
|
, ansi-wl-pprint
|
|
, base >= 4.8 && < 6
|
|
, base64-bytestring
|
|
, bytestring
|
|
, case-insensitive
|
|
, cassava
|
|
, configurator-ng == 0.0.0.1
|
|
, containers
|
|
, contravariant
|
|
, either
|
|
, gitrev
|
|
, hasql
|
|
, hasql-pool
|
|
, hasql-transaction
|
|
, heredoc
|
|
, HTTP
|
|
, http-types
|
|
, insert-ordered-containers
|
|
, interpolatedstring-perl6
|
|
, jose >= 0.6
|
|
, lens
|
|
, lens-aeson
|
|
, network-uri
|
|
, optparse-applicative >= 0.13 && < 0.15
|
|
, parsec
|
|
, protolude >= 0.2
|
|
, Ranged-sets == 0.3.0
|
|
, regex-tdfa
|
|
, safe
|
|
, scientific
|
|
, swagger2
|
|
, text
|
|
, unordered-containers
|
|
, vector
|
|
, wai
|
|
, wai-cors
|
|
, wai-extra
|
|
, wai-middleware-static
|
|
, cookie
|
|
|
|
Other-Modules: Paths_postgrest
|
|
Exposed-Modules: PostgREST.ApiRequest
|
|
, PostgREST.App
|
|
, PostgREST.Auth
|
|
, PostgREST.Config
|
|
, PostgREST.DbStructure
|
|
, PostgREST.DbRequestBuilder
|
|
, PostgREST.Error
|
|
, PostgREST.Middleware
|
|
, PostgREST.OpenAPI
|
|
, PostgREST.Parsers
|
|
, PostgREST.QueryBuilder
|
|
, PostgREST.RangeQuery
|
|
, PostgREST.Types
|
|
hs-source-dirs: src
|
|
|
|
Test-Suite spec
|
|
Type: exitcode-stdio-1.0
|
|
Default-Language: Haskell2010
|
|
default-extensions: OverloadedStrings, QuasiQuotes, NoImplicitPrelude
|
|
ghc-options: -threaded -rtsopts -with-rtsopts=-N
|
|
Hs-Source-Dirs: test
|
|
Main-Is: Main.hs
|
|
Other-Modules: Feature.AudienceJwtSecretSpec
|
|
, Feature.AuthSpec
|
|
, Feature.AsymmetricJwtSpec
|
|
, Feature.BinaryJwtSecretSpec
|
|
, Feature.ConcurrentSpec
|
|
, Feature.CorsSpec
|
|
, Feature.DeleteSpec
|
|
, Feature.InsertSpec
|
|
, Feature.NoJwtSpec
|
|
, Feature.PgVersion96Spec
|
|
, Feature.ProxySpec
|
|
, Feature.QueryLimitedSpec
|
|
, Feature.QuerySpec
|
|
, Feature.RangeSpec
|
|
, Feature.SingularSpec
|
|
, Feature.StructureSpec
|
|
, Feature.UnicodeSpec
|
|
, Feature.AndOrParamsSpec
|
|
, Feature.RpcSpec
|
|
, Feature.NonexistentSchemaSpec
|
|
, SpecHelper
|
|
, TestTypes
|
|
Build-Depends: aeson
|
|
, aeson-qq
|
|
, async
|
|
, base
|
|
, bytestring
|
|
, base64-bytestring
|
|
, case-insensitive
|
|
, cassava
|
|
, containers
|
|
, contravariant
|
|
, hasql
|
|
, hasql-pool
|
|
, heredoc
|
|
, hjsonschema == 1.5.0.1
|
|
, hspec
|
|
, hspec-wai >= 0.7.0
|
|
, hspec-wai-json
|
|
, http-types
|
|
, lens
|
|
, lens-aeson
|
|
, monad-control
|
|
, postgrest
|
|
, process
|
|
, protolude
|
|
, regex-tdfa
|
|
, transformers-base
|
|
, wai
|
|
, wai-extra
|