Safe Haskell | None |
---|---|
Language | Haskell2010 |
Network.GRPC.Common.Headers
Description
Utilities for working with headers
Synopsis
- class Traversable h => HasRequiredHeaders (h :: (Type -> Type) -> Type) where
- data RequiredHeaders (h :: (Type -> Type) -> Type)
- requiredHeaders :: h (Checked e) -> Either e (RequiredHeaders h)
- data family RequiredHeaders (h :: (Type -> Type) -> Type)
- verifyRequired :: HasRequiredHeaders h => h (Checked (InvalidHeaders HandledSynthesized)) -> Either (InvalidHeaders HandledSynthesized) (RequiredHeaders h)
- verifyAll :: HasRequiredHeaders h => h (Checked (InvalidHeaders HandledSynthesized)) -> Either (InvalidHeaders HandledSynthesized) (h Undecorated, RequiredHeaders h)
- verifyAllIf :: HasRequiredHeaders h => Bool -> h (Checked (InvalidHeaders HandledSynthesized)) -> Either (InvalidHeaders HandledSynthesized) (RequiredHeaders h)
Documentation
class Traversable h => HasRequiredHeaders (h :: (Type -> Type) -> Type) where Source #
Required headers
Required headers are headers that grapesy
needs to know in order to
function. For example, we need to know which compression algorithm the peer
is using for their messages to us.
Methods
requiredHeaders :: h (Checked e) -> Either e (RequiredHeaders h) Source #
Instances
HasRequiredHeaders RequestHeaders_ Source # | |||||
Defined in Network.GRPC.Common.Headers Associated Types
Methods requiredHeaders :: RequestHeaders_ (Checked e) -> Either e (RequiredHeaders RequestHeaders_) Source # | |||||
HasRequiredHeaders ResponseHeaders_ Source # | |||||
Defined in Network.GRPC.Common.Headers Associated Types
Methods requiredHeaders :: ResponseHeaders_ (Checked e) -> Either e (RequiredHeaders ResponseHeaders_) Source # | |||||
HasRequiredHeaders TrailersOnly_ Source # | |||||
Defined in Network.GRPC.Common.Headers Associated Types
Methods requiredHeaders :: TrailersOnly_ (Checked e) -> Either e (RequiredHeaders TrailersOnly_) Source # |
data family RequiredHeaders (h :: (Type -> Type) -> Type) Source #
Instances
data RequiredHeaders RequestHeaders_ Source # | |
Defined in Network.GRPC.Common.Headers | |
data RequiredHeaders ResponseHeaders_ Source # | |
data RequiredHeaders TrailersOnly_ Source # | |
Defined in Network.GRPC.Common.Headers |
verifyRequired :: HasRequiredHeaders h => h (Checked (InvalidHeaders HandledSynthesized)) -> Either (InvalidHeaders HandledSynthesized) (RequiredHeaders h) Source #
Validate only the required headers
By default, we only check those headers grapesy
needs to function.
verifyAll :: HasRequiredHeaders h => h (Checked (InvalidHeaders HandledSynthesized)) -> Either (InvalidHeaders HandledSynthesized) (h Undecorated, RequiredHeaders h) Source #
Validate all headers
Validate all headers; we do this only if
connVerifyHeaders
(on the client) or
serverVerifyHeaders
(on the server) is enabled.
verifyAllIf :: HasRequiredHeaders h => Bool -> h (Checked (InvalidHeaders HandledSynthesized)) -> Either (InvalidHeaders HandledSynthesized) (RequiredHeaders h) Source #
Convenience wrapper, conditionally verifying all headers