From 04f3304e7f8db44a21e4f9da0d481facddc41a26 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Sun, 17 Jul 2022 03:05:16 +0200 Subject: some work on the control room (it can do useful stuff! but it also still breaks on some things!) --- lib/Server/Util.hs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'lib/Server/Util.hs') diff --git a/lib/Server/Util.hs b/lib/Server/Util.hs index 45c2477..1c62663 100644 --- a/lib/Server/Util.hs +++ b/lib/Server/Util.hs @@ -1,13 +1,18 @@ - +{-# LANGUAGE FlexibleContexts #-} -- | mostly the monad the service runs in -module Server.Util (Service, ServiceM, runService) where +module Server.Util (Service, ServiceM, runService, redirect) where import Control.Monad.Logger (LoggingT, runStderrLoggingT) -import Servant (Handler, ServerT) +import Data.ByteString (ByteString) +import Servant (Handler, ServerError, ServerT, err302, + errHeaders, throwError) type ServiceM = LoggingT Handler type Service api = ServerT api ServiceM runService :: ServiceM a -> Handler a runService = runStderrLoggingT + +redirect :: ByteString -> ServiceM a +redirect path = throwError $ err302 { errHeaders = [("Location", path)] } -- cgit v1.2.3