| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Web.Hyperbole.Effect.Response
Synopsis
- hyperView :: forall id (es :: [Effect]). (HyperView id es, ToJSON (ViewState id)) => id -> ViewState id -> View id () -> Eff es Response
- pushUpdate :: forall (es :: [Effect]) id. (Hyperbole :> es, ViewId id, ToJSON (ViewState id), ConcurrencyValue (Concurrency id)) => View id () -> Eff (Reader id ': (State (ViewState id) ': es)) ()
- pushUpdateTo :: forall (es :: [Effect]) id. (Hyperbole :> es, ViewId id, ToJSON (ViewState id), ConcurrencyValue (Concurrency id)) => id -> ViewState id -> View id () -> Eff es ()
- respondError :: forall (es :: [Effect]) a. Hyperbole :> es => ResponseError -> Eff es a
- respondErrorView :: forall (es :: [Effect]) a. Hyperbole :> es => Text -> View () () -> Eff es a
- notFound :: forall (es :: [Effect]) a. Hyperbole :> es => Eff es a
- parseError :: forall (es :: [Effect]) a. Hyperbole :> es => String -> Eff es a
- redirect :: forall (es :: [Effect]) a. Hyperbole :> es => URI -> Eff es a
- view :: View () () -> Response
Documentation
hyperView :: forall id (es :: [Effect]). (HyperView id es, ToJSON (ViewState id)) => id -> ViewState id -> View id () -> Eff es Response Source #
Respond with the given hyperview
pushUpdate :: forall (es :: [Effect]) id. (Hyperbole :> es, ViewId id, ToJSON (ViewState id), ConcurrencyValue (Concurrency id)) => View id () -> Eff (Reader id ': (State (ViewState id) ': es)) () Source #
pushUpdateTo :: forall (es :: [Effect]) id. (Hyperbole :> es, ViewId id, ToJSON (ViewState id), ConcurrencyValue (Concurrency id)) => id -> ViewState id -> View id () -> Eff es () Source #
respondError :: forall (es :: [Effect]) a. Hyperbole :> es => ResponseError -> Eff es a Source #
Abort execution and respond with an error
respondErrorView :: forall (es :: [Effect]) a. Hyperbole :> es => Text -> View () () -> Eff es a Source #
Abort execution and respond with an error view
notFound :: forall (es :: [Effect]) a. 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
parseError :: forall (es :: [Effect]) a. Hyperbole :> es => String -> Eff es a Source #
Respond immediately with a parse error