second-transfer-0.5.3.2: Second Transfer HTTP/2 web server

Safe HaskellSafe
LanguageHaskell2010

SecondTransfer.Exception

Contents

Description

 

Synopsis

Exceptions thrown by the HTTP/2 sessions

data HTTP2SessionException Source

Abstract exception. All HTTP/2 exceptions derive from here

Constructors

forall e . Exception e => HTTP2SessionException e 

data FramerException Source

Abstract exception. Thrown when encoding/decoding of a frame fails

Constructors

forall e . Exception e => FramerException e 

Instances

data BadPrefaceException Source

Thrown when the HTTP/2 connection prefix doesn't match the expected prefix.

Constructors

BadPrefaceException 

data HTTP11Exception Source

Abstract exception. All HTTP/1.1 related exceptions derive from here. Notice that this includes a lot of logical errors and they can be raised when handling HTTP/2 sessions also

Constructors

forall e . Exception e => HTTP11Exception e 

Instances

data ContentLengthMissingException Source

Thrown with HTTP1.1 over HTTP1.1 sessions when the response body or the request body doesn't include a Content-Length header field, even if it should have included it

Exceptions related to the IO layer

data IOProblem Source

Throw exceptions derived from this (e.g, GenericIOProblem below) to have the HTTP/2 session to terminate gracefully.

Constructors

forall e . Exception e => IOProblem e 

Instances

Show IOProblem Source 
Exception IOProblem Source 

data GenericIOProblem Source

A concrete case of the above exception. Throw one of this if you don't want to implement your own type. Use IOProblem in catch signatures.

Constructors

GenericIOProblem 

Instances

data StreamCancelledException Source

This exception will be raised inside a CoherentWorker when the underlying stream is cancelled (STREAM_RESET in HTTP/2). Do any necessary cleanup in a handler, or simply use the fact that the exception is asynchronously delivered to your CoherentWorker Haskell thread, giving you an opportunity to interrupt any blocked operations.

Internal exceptions

data HTTP2ProtocolException Source

Concrete exception. Used internally to signal that the client violated the protocol. Clients of the library shall never see this exception.