{-# LANGUAGE CPP #-}
module Network.GRPC.Spec (
IsRPC(..)
, Input
, Output
, SupportsClientRpc(..)
, SupportsServerRpc(..)
, defaultRpcContentType
, Protobuf
, Proto(..)
, getProto
, JsonRpc
, JsonObject(..)
, Required(..)
, Optional(..)
, DecodeFields
, EncodeFields
, RawRpc
, StreamingType(..)
, SStreamingType(..)
, ValidStreamingType(..)
, SupportsStreamingType
, HasStreamingType(..)
, NextElem(..)
, Send
, Recv
, Positive
, Negative(..)
, HandlerRole(..)
, Handler
, ServerHandler'(..)
, ServerHandler
, ClientHandler'(..)
, ClientHandler
, hoistServerHandler
, CompressionId(..)
, Compression(..)
, noCompression
, gzip
, allSupportedCompression
, serializeCompressionId
, deserializeCompressionId
, OutboundMeta(..)
, InboundMeta(..)
, RequestHeaders_(..)
, RequestHeaders
, RequestHeaders'
, CallParams(..)
, PseudoHeaders(..)
, ServerHeaders(..)
, ResourceHeaders(..)
, Path(..)
, Address(..)
, Scheme(..)
, Method(..)
, rpcPath
, Timeout(..)
, TimeoutValue(..)
, TimeoutUnit(..)
, timeoutToMicro
, isValidTimeoutValue
, ResponseHeaders_(..)
, ResponseHeaders
, ResponseHeaders'
, ProperTrailers_(..)
, ProperTrailers
, ProperTrailers'
, TrailersOnly_(..)
, TrailersOnly
, TrailersOnly'
, Pushback(..)
, simpleProperTrailers
, GrpcNormalTermination(..)
, grpcExceptionToTrailers
, grpcClassifyTermination
, properTrailersToTrailersOnly
, trailersOnlyToProperTrailers
, GrpcStatus(..)
, GrpcError(..)
, fromGrpcStatus
, fromGrpcError
, toGrpcStatus
, toGrpcError
, GrpcException(..)
, throwGrpcError
, Status
, CustomMetadata(CustomMetadata)
, customMetadataName
, customMetadataValue
, safeCustomMetadata
, HeaderName(BinaryHeader, AsciiHeader)
, safeHeaderName
, isValidAsciiValue
, NoMetadata(..)
, UnexpectedMetadata(..)
, CustomMetadataMap
, customMetadataMapFromList
, customMetadataMapToList
, customMetadataMapInsert
, RequestMetadata
, ResponseInitialMetadata
, ResponseTrailingMetadata
, ResponseMetadata(..)
, BuildMetadata(..)
, ParseMetadata(..)
, StaticMetadata(..)
, buildMetadataIO
, InvalidHeaders(..)
, InvalidHeader(..)
, invalidHeader
, missingHeader
, unexpectedHeader
, invalidHeaderSynthesize
, throwInvalidHeader
, HandledSynthesized
, handledSynthesized
, dropSynthesized
, mapSynthesizedM
, mapSynthesized
, throwSynthesized
, invalidHeaders
, prettyInvalidHeaders
, statusInvalidHeaders
, ContentType(..)
, chooseContentType
, MessageType(..)
, chooseMessageType
, TraceContext(..)
, TraceId(..)
, SpanId(..)
, TraceOptions(..)
, OrcaLoadReport
) where
import Network.GRPC.Spec.Call
import Network.GRPC.Spec.Compression
import Network.GRPC.Spec.CustomMetadata.Map
import Network.GRPC.Spec.CustomMetadata.NoMetadata
import Network.GRPC.Spec.CustomMetadata.Raw
import Network.GRPC.Spec.CustomMetadata.Typed
import Network.GRPC.Spec.Headers.Common
import Network.GRPC.Spec.Headers.Invalid
import Network.GRPC.Spec.Headers.PseudoHeaders
import Network.GRPC.Spec.Headers.Request
import Network.GRPC.Spec.Headers.Response
import Network.GRPC.Spec.MessageMeta
import Network.GRPC.Spec.OrcaLoadReport
import Network.GRPC.Spec.RPC
import Network.GRPC.Spec.RPC.JSON
import Network.GRPC.Spec.RPC.Protobuf
import Network.GRPC.Spec.RPC.Raw
import Network.GRPC.Spec.RPC.StreamType
import Network.GRPC.Spec.Status
import Network.GRPC.Spec.Timeout
import Network.GRPC.Spec.TraceContext