snap-core-0.9.4.0: Snap: A Haskell Web Framework (core interfaces and types)

Safe Haskell | None

Snap.Internal.Exceptions

Description

An internal Snap module containing the exception that escapes HTTP types.

N.B. this is an internal interface, please don't write user code that depends on it. Interfaces subject to change etc etc etc.

Synopsis

- data UncatchableException = forall e . Exception e => UncatchableException e
- uncatchableExceptionToException :: Exception e => e -> SomeException
- uncatchableExceptionFromException :: Exception e => SomeException -> Maybe e
- data ConnectionTerminatedException = ConnectionTerminatedException SomeException
- data EscapeHttpException = EscapeHttpException EscapeHttpHandler
- type EscapeHttpHandler = ((Int -> Int) -> IO ()) -> Iteratee ByteString IO () -> Iteratee ByteString IO ()

# Documentation

data UncatchableException

An exception hierarchy for exceptions that cannot be caught by user-defined error handlers

Constructors

forall e . Exception e => UncatchableException e |

Instances

Show UncatchableException |
Typeable UncatchableException |
Exception UncatchableException |

uncatchableExceptionToException :: Exception e => e -> SomeException

uncatchableExceptionFromException :: Exception e => SomeException -> Maybe e

data ConnectionTerminatedException

Constructors

ConnectionTerminatedException SomeException |

Instances

Show ConnectionTerminatedException |
Typeable ConnectionTerminatedException |
Exception ConnectionTerminatedException |

data EscapeHttpException

This exception is thrown if the handler chooses to escape regular HTTP traffic.

Constructors

EscapeHttpException EscapeHttpHandler |

Instances

Show EscapeHttpException |
Typeable EscapeHttpException |
Exception EscapeHttpException |

type EscapeHttpHandler

Arguments

= ((Int -> Int) -> IO ()) | timeout modifier
-> Iteratee ByteString IO () | socket write end
-> Iteratee ByteString IO () |