module Network.GRPC.Spec.Headers.Request (
RequestHeaders_(..)
, RequestHeaders
, RequestHeaders'
) where
import Data.ByteString qualified as Strict (ByteString)
import Data.List.NonEmpty (NonEmpty)
import GHC.Generics (Generic)
import Network.GRPC.Spec.Compression (CompressionId)
import Network.GRPC.Spec.CustomMetadata.Map
import Network.GRPC.Spec.Headers.Common
import Network.GRPC.Spec.Headers.Invalid
import Network.GRPC.Spec.Timeout
import Network.GRPC.Spec.TraceContext
import Network.GRPC.Spec.Util.HKD (HKD, Undecorated, Checked)
import Network.GRPC.Spec.Util.HKD qualified as HKD
data f = {
forall (f :: * -> *). RequestHeaders_ f -> HKD f (Maybe Timeout)
requestTimeout :: HKD f (Maybe Timeout)
, forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe CompressionId)
requestCompression :: HKD f (Maybe CompressionId)
, forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe (NonEmpty CompressionId))
requestAcceptCompression :: HKD f (Maybe (NonEmpty CompressionId))
, forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe ContentType)
requestContentType :: HKD f (Maybe ContentType)
, forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe MessageType)
requestMessageType :: HKD f (Maybe MessageType)
, forall (f :: * -> *). RequestHeaders_ f -> HKD f (Maybe ByteString)
requestUserAgent :: HKD f (Maybe Strict.ByteString)
, forall (f :: * -> *). RequestHeaders_ f -> HKD f Bool
requestIncludeTE :: HKD f Bool
, forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe TraceContext)
requestTraceContext :: HKD f (Maybe TraceContext)
, forall (f :: * -> *). RequestHeaders_ f -> HKD f (Maybe Int)
requestPreviousRpcAttempts :: HKD f (Maybe Int)
, forall (f :: * -> *). RequestHeaders_ f -> CustomMetadataMap
requestMetadata :: CustomMetadataMap
, forall (f :: * -> *). RequestHeaders_ f -> HKD f ()
requestUnrecognized :: HKD f ()
}
deriving anyclass (RequestHeaders_ (DecoratedWith Identity)
-> RequestHeaders_ Undecorated
RequestHeaders_ Undecorated
-> RequestHeaders_ (DecoratedWith Identity)
(RequestHeaders_ (DecoratedWith Identity)
-> RequestHeaders_ Undecorated)
-> (RequestHeaders_ Undecorated
-> RequestHeaders_ (DecoratedWith Identity))
-> Coerce RequestHeaders_
forall (t :: (* -> *) -> *).
(t (DecoratedWith Identity) -> t Undecorated)
-> (t Undecorated -> t (DecoratedWith Identity)) -> Coerce t
$cundecorate :: RequestHeaders_ (DecoratedWith Identity)
-> RequestHeaders_ Undecorated
undecorate :: RequestHeaders_ (DecoratedWith Identity)
-> RequestHeaders_ Undecorated
$cdecorate :: RequestHeaders_ Undecorated
-> RequestHeaders_ (DecoratedWith Identity)
decorate :: RequestHeaders_ Undecorated
-> RequestHeaders_ (DecoratedWith Identity)
HKD.Coerce)
type = RequestHeaders_ Undecorated
type e = RequestHeaders_ (Checked (InvalidHeaders e))
deriving stock instance Show RequestHeaders
deriving stock instance Eq RequestHeaders
deriving stock instance Generic RequestHeaders
deriving stock instance Show e => Show (RequestHeaders' e)
deriving stock instance Eq e => Eq (RequestHeaders' e)
instance HKD.Traversable RequestHeaders_ where
traverse :: forall (m :: * -> *) (f :: * -> *) (g :: * -> *).
Applicative m =>
(forall a. f a -> m (g a))
-> RequestHeaders_ (DecoratedWith f)
-> m (RequestHeaders_ (DecoratedWith g))
traverse forall a. f a -> m (g a)
f RequestHeaders_ (DecoratedWith f)
x =
g (Maybe Timeout)
-> g (Maybe CompressionId)
-> g (Maybe (NonEmpty CompressionId))
-> g (Maybe ContentType)
-> g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g)
HKD (DecoratedWith g) (Maybe Timeout)
-> HKD (DecoratedWith g) (Maybe CompressionId)
-> HKD (DecoratedWith g) (Maybe (NonEmpty CompressionId))
-> HKD (DecoratedWith g) (Maybe ContentType)
-> HKD (DecoratedWith g) (Maybe MessageType)
-> HKD (DecoratedWith g) (Maybe ByteString)
-> HKD (DecoratedWith g) Bool
-> HKD (DecoratedWith g) (Maybe TraceContext)
-> HKD (DecoratedWith g) (Maybe Int)
-> CustomMetadataMap
-> HKD (DecoratedWith g) ()
-> RequestHeaders_ (DecoratedWith g)
forall (f :: * -> *).
HKD f (Maybe Timeout)
-> HKD f (Maybe CompressionId)
-> HKD f (Maybe (NonEmpty CompressionId))
-> HKD f (Maybe ContentType)
-> HKD f (Maybe MessageType)
-> HKD f (Maybe ByteString)
-> HKD f Bool
-> HKD f (Maybe TraceContext)
-> HKD f (Maybe Int)
-> CustomMetadataMap
-> HKD f ()
-> RequestHeaders_ f
RequestHeaders
(g (Maybe Timeout)
-> g (Maybe CompressionId)
-> g (Maybe (NonEmpty CompressionId))
-> g (Maybe ContentType)
-> g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
-> m (g (Maybe Timeout))
-> m (g (Maybe CompressionId)
-> g (Maybe (NonEmpty CompressionId))
-> g (Maybe ContentType)
-> g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (f (Maybe Timeout) -> m (g (Maybe Timeout))
forall a. f a -> m (g a)
f (f (Maybe Timeout) -> m (g (Maybe Timeout)))
-> f (Maybe Timeout) -> m (g (Maybe Timeout))
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f)
-> HKD (DecoratedWith f) (Maybe Timeout)
forall (f :: * -> *). RequestHeaders_ f -> HKD f (Maybe Timeout)
requestTimeout RequestHeaders_ (DecoratedWith f)
x)
m (g (Maybe CompressionId)
-> g (Maybe (NonEmpty CompressionId))
-> g (Maybe ContentType)
-> g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
-> m (g (Maybe CompressionId))
-> m (g (Maybe (NonEmpty CompressionId))
-> g (Maybe ContentType)
-> g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (f (Maybe CompressionId) -> m (g (Maybe CompressionId))
forall a. f a -> m (g a)
f (f (Maybe CompressionId) -> m (g (Maybe CompressionId)))
-> f (Maybe CompressionId) -> m (g (Maybe CompressionId))
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f)
-> HKD (DecoratedWith f) (Maybe CompressionId)
forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe CompressionId)
requestCompression RequestHeaders_ (DecoratedWith f)
x)
m (g (Maybe (NonEmpty CompressionId))
-> g (Maybe ContentType)
-> g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
-> m (g (Maybe (NonEmpty CompressionId)))
-> m (g (Maybe ContentType)
-> g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (f (Maybe (NonEmpty CompressionId))
-> m (g (Maybe (NonEmpty CompressionId)))
forall a. f a -> m (g a)
f (f (Maybe (NonEmpty CompressionId))
-> m (g (Maybe (NonEmpty CompressionId))))
-> f (Maybe (NonEmpty CompressionId))
-> m (g (Maybe (NonEmpty CompressionId)))
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f)
-> HKD (DecoratedWith f) (Maybe (NonEmpty CompressionId))
forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe (NonEmpty CompressionId))
requestAcceptCompression RequestHeaders_ (DecoratedWith f)
x)
m (g (Maybe ContentType)
-> g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
-> m (g (Maybe ContentType))
-> m (g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (f (Maybe ContentType) -> m (g (Maybe ContentType))
forall a. f a -> m (g a)
f (f (Maybe ContentType) -> m (g (Maybe ContentType)))
-> f (Maybe ContentType) -> m (g (Maybe ContentType))
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f)
-> HKD (DecoratedWith f) (Maybe ContentType)
forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe ContentType)
requestContentType RequestHeaders_ (DecoratedWith f)
x)
m (g (Maybe MessageType)
-> g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
-> m (g (Maybe MessageType))
-> m (g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (f (Maybe MessageType) -> m (g (Maybe MessageType))
forall a. f a -> m (g a)
f (f (Maybe MessageType) -> m (g (Maybe MessageType)))
-> f (Maybe MessageType) -> m (g (Maybe MessageType))
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f)
-> HKD (DecoratedWith f) (Maybe MessageType)
forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe MessageType)
requestMessageType RequestHeaders_ (DecoratedWith f)
x)
m (g (Maybe ByteString)
-> g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
-> m (g (Maybe ByteString))
-> m (g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (f (Maybe ByteString) -> m (g (Maybe ByteString))
forall a. f a -> m (g a)
f (f (Maybe ByteString) -> m (g (Maybe ByteString)))
-> f (Maybe ByteString) -> m (g (Maybe ByteString))
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f)
-> HKD (DecoratedWith f) (Maybe ByteString)
forall (f :: * -> *). RequestHeaders_ f -> HKD f (Maybe ByteString)
requestUserAgent RequestHeaders_ (DecoratedWith f)
x)
m (g Bool
-> g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
-> m (g Bool)
-> m (g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (f Bool -> m (g Bool)
forall a. f a -> m (g a)
f (f Bool -> m (g Bool)) -> f Bool -> m (g Bool)
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f) -> HKD (DecoratedWith f) Bool
forall (f :: * -> *). RequestHeaders_ f -> HKD f Bool
requestIncludeTE RequestHeaders_ (DecoratedWith f)
x)
m (g (Maybe TraceContext)
-> g (Maybe Int)
-> CustomMetadataMap
-> g ()
-> RequestHeaders_ (DecoratedWith g))
-> m (g (Maybe TraceContext))
-> m (g (Maybe Int)
-> CustomMetadataMap -> g () -> RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (f (Maybe TraceContext) -> m (g (Maybe TraceContext))
forall a. f a -> m (g a)
f (f (Maybe TraceContext) -> m (g (Maybe TraceContext)))
-> f (Maybe TraceContext) -> m (g (Maybe TraceContext))
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f)
-> HKD (DecoratedWith f) (Maybe TraceContext)
forall (f :: * -> *).
RequestHeaders_ f -> HKD f (Maybe TraceContext)
requestTraceContext RequestHeaders_ (DecoratedWith f)
x)
m (g (Maybe Int)
-> CustomMetadataMap -> g () -> RequestHeaders_ (DecoratedWith g))
-> m (g (Maybe Int))
-> m (CustomMetadataMap
-> g () -> RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (f (Maybe Int) -> m (g (Maybe Int))
forall a. f a -> m (g a)
f (f (Maybe Int) -> m (g (Maybe Int)))
-> f (Maybe Int) -> m (g (Maybe Int))
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f)
-> HKD (DecoratedWith f) (Maybe Int)
forall (f :: * -> *). RequestHeaders_ f -> HKD f (Maybe Int)
requestPreviousRpcAttempts RequestHeaders_ (DecoratedWith f)
x)
m (CustomMetadataMap -> g () -> RequestHeaders_ (DecoratedWith g))
-> m CustomMetadataMap
-> m (g () -> RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (CustomMetadataMap -> m CustomMetadataMap
forall a. a -> m a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (CustomMetadataMap -> m CustomMetadataMap)
-> CustomMetadataMap -> m CustomMetadataMap
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f) -> CustomMetadataMap
forall (f :: * -> *). RequestHeaders_ f -> CustomMetadataMap
requestMetadata RequestHeaders_ (DecoratedWith f)
x)
m (g () -> RequestHeaders_ (DecoratedWith g))
-> m (g ()) -> m (RequestHeaders_ (DecoratedWith g))
forall a b. m (a -> b) -> m a -> m b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (f () -> m (g ())
forall a. f a -> m (g a)
f (f () -> m (g ())) -> f () -> m (g ())
forall a b. (a -> b) -> a -> b
$ RequestHeaders_ (DecoratedWith f) -> HKD (DecoratedWith f) ()
forall (f :: * -> *). RequestHeaders_ f -> HKD f ()
requestUnrecognized RequestHeaders_ (DecoratedWith f)
x)