{-# LANGUAGE PatternSynonyms #-}

module Network.HTTP3.Error (
    ApplicationProtocolError (
        H3NoError,
        H3GeneralProtocolError,
        H3InternalError,
        H3StreamCreationError,
        H3ClosedCriticalStream,
        H3FrameUnexpected,
        H3FrameError,
        H3ExcessiveLoad,
        H3IdError,
        H3SettingsError,
        H3MissingSettings,
        H3RequestRejected,
        H3RequestCancelled,
        H3RequestIncomplete,
        H3MessageError,
        H3ConnectError,
        H3VersionFallback
    ),
) where

import Network.QUIC

{- FOURMOLU_DISABLE -}
pattern H3NoError                :: ApplicationProtocolError
pattern $bH3NoError :: ApplicationProtocolError
$mH3NoError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3NoError                 = ApplicationProtocolError 0x100

pattern H3GeneralProtocolError   :: ApplicationProtocolError
pattern $bH3GeneralProtocolError :: ApplicationProtocolError
$mH3GeneralProtocolError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3GeneralProtocolError    = ApplicationProtocolError 0x101

pattern H3InternalError          :: ApplicationProtocolError
pattern $bH3InternalError :: ApplicationProtocolError
$mH3InternalError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3InternalError           = ApplicationProtocolError 0x102

pattern H3StreamCreationError    :: ApplicationProtocolError
pattern $bH3StreamCreationError :: ApplicationProtocolError
$mH3StreamCreationError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3StreamCreationError     = ApplicationProtocolError 0x103

pattern H3ClosedCriticalStream   :: ApplicationProtocolError
pattern $bH3ClosedCriticalStream :: ApplicationProtocolError
$mH3ClosedCriticalStream :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3ClosedCriticalStream    = ApplicationProtocolError 0x104

pattern H3FrameUnexpected        :: ApplicationProtocolError
pattern $bH3FrameUnexpected :: ApplicationProtocolError
$mH3FrameUnexpected :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3FrameUnexpected         = ApplicationProtocolError 0x105

pattern H3FrameError             :: ApplicationProtocolError
pattern $bH3FrameError :: ApplicationProtocolError
$mH3FrameError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3FrameError              = ApplicationProtocolError 0x106

pattern H3ExcessiveLoad          :: ApplicationProtocolError
pattern $bH3ExcessiveLoad :: ApplicationProtocolError
$mH3ExcessiveLoad :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3ExcessiveLoad           = ApplicationProtocolError 0x107

pattern H3IdError                :: ApplicationProtocolError
pattern $bH3IdError :: ApplicationProtocolError
$mH3IdError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3IdError                 = ApplicationProtocolError 0x108

pattern H3SettingsError          :: ApplicationProtocolError
pattern $bH3SettingsError :: ApplicationProtocolError
$mH3SettingsError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3SettingsError           = ApplicationProtocolError 0x109

pattern H3MissingSettings        :: ApplicationProtocolError
pattern $bH3MissingSettings :: ApplicationProtocolError
$mH3MissingSettings :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3MissingSettings         = ApplicationProtocolError 0x10a

pattern H3RequestRejected        :: ApplicationProtocolError
pattern $bH3RequestRejected :: ApplicationProtocolError
$mH3RequestRejected :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3RequestRejected         = ApplicationProtocolError 0x10b

pattern H3RequestCancelled       :: ApplicationProtocolError
pattern $bH3RequestCancelled :: ApplicationProtocolError
$mH3RequestCancelled :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3RequestCancelled        = ApplicationProtocolError 0x10c

pattern H3RequestIncomplete      :: ApplicationProtocolError
pattern $bH3RequestIncomplete :: ApplicationProtocolError
$mH3RequestIncomplete :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3RequestIncomplete       = ApplicationProtocolError 0x10d

pattern H3MessageError           :: ApplicationProtocolError
pattern $bH3MessageError :: ApplicationProtocolError
$mH3MessageError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3MessageError            = ApplicationProtocolError 0x10e

pattern H3ConnectError           :: ApplicationProtocolError
pattern $bH3ConnectError :: ApplicationProtocolError
$mH3ConnectError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3ConnectError            = ApplicationProtocolError 0x10f

pattern H3VersionFallback        :: ApplicationProtocolError
pattern $bH3VersionFallback :: ApplicationProtocolError
$mH3VersionFallback :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
H3VersionFallback         = ApplicationProtocolError 0x110
{- FOURMOLU_ENABLE -}