http-exchange-0.1.1.0: src-types/Http/Exchange/Types.hs
{-# language DeriveAnyClass #-}
{-# language DerivingStrategies #-}
module Http.Exchange.Types
( HttpException(..)
) where
import qualified Control.Exception as E
-- | Exceptions that occur when decoding an HTTP response.
-- If this happens, the only way to proceed is to
-- shut down the connection. Either the server does not
-- speak HTTP correct, or there is a mistake in this libary.
data HttpException
= ChunkTooLarge
| ChunkedBodyEndOfInput
| NonchunkedBodyEndOfInput
| ContentLengthDuplicated
| ContentLengthMalformed
| ContentLengthTooLarge
| ExpectedCrlfAfterChunk
| ExpectedCrlfAfterChunkLength
| ExpectedCrlfBeforeChunkLength
| HeadersMalformed
| HeadersEndOfInput
| HeadersTooLarge
| ImplementationMistake
-- ^ If this one happens, there is a mistake in this
-- library.
| NonNumericChunkLength
| PipelinedResponses
| TransferEncodingUnrecognized
| TransferEncodingDuplicated
deriving stock (Show)
deriving anyclass (E.Exception)