| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Web.Hyperbole.Effect.Response
Synopsis
- hyperView :: (HyperView id es, ToEncoded (ViewState id)) => id -> ViewState id -> View id () -> Eff es Response
- pushUpdate :: (Hyperbole :> es, ViewId id, ToEncoded (ViewState id), ConcurrencyValue (Concurrency id)) => View id () -> Eff (Reader id : (State (ViewState id) : es)) ()
- pushUpdateTo :: (Hyperbole :> es, ViewId id, ToEncoded (ViewState id), ConcurrencyValue (Concurrency id)) => id -> ViewState id -> View id () -> Eff es ()
- respondError :: Hyperbole :> es => ResponseError -> Eff es a
- respondErrorView :: Hyperbole :> es => Text -> View () () -> Eff es a
- notFound :: Hyperbole :> es => Eff es a
- parseError :: Hyperbole :> es => String -> Eff es a
- redirect :: Hyperbole :> es => URI -> Eff es a
- view :: View () () -> Response
Documentation
hyperView :: (HyperView id es, ToEncoded (ViewState id)) => id -> ViewState id -> View id () -> Eff es Response Source #
Respond with the given hyperview
pushUpdate :: (Hyperbole :> es, ViewId id, ToEncoded (ViewState id), ConcurrencyValue (Concurrency id)) => View id () -> Eff (Reader id : (State (ViewState id) : es)) () Source #
pushUpdateTo :: (Hyperbole :> es, ViewId id, ToEncoded (ViewState id), ConcurrencyValue (Concurrency id)) => id -> ViewState id -> View id () -> Eff es () Source #
respondError :: Hyperbole :> es => ResponseError -> Eff es a Source #
Abort execution and respond with an error
respondErrorView :: Hyperbole :> es => Text -> View () () -> Eff es a Source #
Abort execution and respond with an error view
notFound :: Hyperbole :> es => Eff es a Source #
Abort execution and respond with 404 Not Found
findUser :: (Hyperbole:> es, Users :> es) => Int ->Effes User findUser uid = do mu <- send (LoadUser uid) maybe notFound pure mu userPage :: (Hyperbole:> es, Users :> es) =>Pagees '[] userPage = do user <- findUser 100 -- skipped if user not found pure $ userView user