packages feed

spire-grpc-0.1.0.0: spire-grpc.cabal

cabal-version:   3.0
name:            spire-grpc
version:         0.1.0.0
synopsis:        gRPC wire protocol for spire services
category:        Network
description:
  gRPC framing, status codes, and request/response handling built on
  spire + http-core. Provides the wire protocol layer: service/method
  dispatch, length-prefixed message framing, trailers-based status.
  .
  No protobuf dependency: serialization is pluggable. Use with
  proto-lens, binary, aeson, or any codec.
  .
  No WAI dependency: runs on spire-server's HTTP/2 transport.

license:         BSD-3-Clause
license-file:    LICENSE
author:          Josh Burgess
maintainer:      Josh Burgess <joshburgess.webdev@gmail.com>
homepage:        https://github.com/joshburgess/acolyte
bug-reports:     https://github.com/joshburgess/acolyte/issues
build-type:      Simple

extra-doc-files:
  CHANGELOG.md

library
  exposed-modules:
    Spire.Grpc
    Spire.Grpc.Status
    Spire.Grpc.Codec
    Spire.Grpc.Server
    Spire.Grpc.Multiplex
    Spire.Grpc.Reflection
    Spire.Grpc.Health
    Spire.Grpc.Compression
    Spire.Grpc.Web
    Spire.Grpc.ErrorDetails

  build-depends:
      base               >= 4.20 && < 5
    , spire              >= 0.1  && < 0.2
    , http-core          >= 0.1  && < 0.2
    , bytestring         >= 0.11 && < 0.13
    , text               >= 2.0  && < 2.2
    , http-types         >= 0.12 && < 0.13
    , case-insensitive   >= 1.2  && < 1.3
    , containers         >= 0.6  && < 0.8
    , zlib               >= 0.6  && < 0.8

  hs-source-dirs: src
  default-language: GHC2024
  default-extensions:
    OverloadedStrings
    StrictData

  ghc-options: -Wall -funbox-strict-fields

test-suite spec
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: test
  default-language: GHC2024
  default-extensions:
    OverloadedStrings
    StrictData

  ghc-options: -Wall -rtsopts "-with-rtsopts=-K1K"

  build-depends:
      base              >= 4.20 && < 5
    , spire-grpc        >= 0.1  && < 0.2
    , spire             >= 0.1  && < 0.2
    , http-core         >= 0.1  && < 0.2
    , bytestring        >= 0.11 && < 0.13
    , case-insensitive  >= 1.2  && < 1.3
    , text              >= 2.0  && < 2.2
    , http-types        >= 0.12 && < 0.13

test-suite properties
  type: exitcode-stdio-1.0
  main-is: Properties.hs
  hs-source-dirs: test
  default-language: GHC2024
  default-extensions:
    OverloadedStrings
    StrictData
  ghc-options: -Wall
  build-depends:
      base         >= 4.20 && < 5
    , spire-grpc   >= 0.1  && < 0.2
    , hedgehog     >= 1.4  && < 1.8
    , bytestring   >= 0.11 && < 0.13
    , text         >= 2.0  && < 2.2

test-suite integration
  type: exitcode-stdio-1.0
  main-is: Integration.hs
  hs-source-dirs: test
  default-language: GHC2024
  default-extensions:
    OverloadedStrings
    StrictData
  ghc-options: -Wall -threaded

  build-depends:
      base         >= 4.20 && < 5
    , spire-grpc   >= 0.1  && < 0.2
    , spire        >= 0.1  && < 0.2
    , http-core    >= 0.1  && < 0.2
    , spire-server >= 0.1  && < 0.2
    , bytestring   >= 0.11 && < 0.13
    , http-types   >= 0.12 && < 0.13
    , http-client      >= 0.7  && < 0.8
    , case-insensitive >= 1.2  && < 1.3

source-repository head
  type:     git
  location: https://github.com/joshburgess/acolyte.git