{-# 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 $mH3NoError :: forall {r}.
ApplicationProtocolError -> ((# #) -> r) -> ((# #) -> r) -> r
$bH3NoError :: ApplicationProtocolError
H3NoError                 = ApplicationProtocolError 0x100

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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