aboutsummaryrefslogtreecommitdiff
path: root/server/src/Thermoprint/Server.hs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/Thermoprint/Server.hs')
-rw-r--r--server/src/Thermoprint/Server.hs8
1 files changed, 4 insertions, 4 deletions
diff --git a/server/src/Thermoprint/Server.hs b/server/src/Thermoprint/Server.hs
index 15fb651..a33a613 100644
--- a/server/src/Thermoprint/Server.hs
+++ b/server/src/Thermoprint/Server.hs
@@ -111,7 +111,7 @@ instance MonadIO m => Default (Config m) where
111 } 111 }
112 112
113instance MonadIO m => Default (QMConfig m) where 113instance MonadIO m => Default (QMConfig m) where
114 def = QMConfig idQM $ Nat (liftIO . runIdentityT) 114 def = QMConfig idQM $ NT (liftIO . runIdentityT)
115 115
116withPrinters :: MonadResource m => Config m -> [(m PrinterMethod, QMConfig m)] -> m (Config m) 116withPrinters :: MonadResource m => Config m -> [(m PrinterMethod, QMConfig m)] -> m (Config m)
117-- ^ Add a list of printers to a 'Config' 117-- ^ Add a list of printers to a 'Config'
@@ -149,7 +149,7 @@ thermoprintServer dyre io cfg = do
149 , Dyre.cacheDir = return <$> cacheDir 149 , Dyre.cacheDir = return <$> cacheDir
150 } 150 }
151 where 151 where
152 realMain cfg = unNat (io . Nat runResourceT) $ do 152 realMain cfg = (io . NT runResourceT) $$ do
153 tMgr <- threadManager resourceForkIO 153 tMgr <- threadManager resourceForkIO
154 flip finally (cleanup tMgr) $ do 154 flip finally (cleanup tMgr) $ do
155 Config{..} <- cfg 155 Config{..} <- cfg
@@ -159,11 +159,11 @@ thermoprintServer dyre io cfg = do
159 gcChan <- liftIO newTChanIO 159 gcChan <- liftIO newTChanIO
160 fork tMgr $ jobGC gcChan 160 fork tMgr $ jobGC gcChan
161 let 161 let
162 runQM' (queueManagers -> QMConfig qm nat) printer = unNat nat $ runQM gcChan qm printer 162 runQM' (queueManagers -> QMConfig qm nat) printer = nat $$ runQM gcChan qm printer
163 mapM_ (fork tMgr . uncurry runQM') $ Map.toList printers 163 mapM_ (fork tMgr . uncurry runQM') $ Map.toList printers
164 nChan <- liftIO $ newBroadcastTChanIO 164 nChan <- liftIO $ newBroadcastTChanIO
165 let 165 let
166 printerUrl :: API.PrinterId -> URI 166 printerUrl :: API.PrinterId -> URI
167 printerUrl = safeLink thermoprintAPI (Proxy :: Proxy ("jobs" :> QueryParam "printer" API.PrinterId :> Get '[JSON] (Seq (API.JobId, UTCTime, JobStatus)))) . Just 167 printerUrl = linkURI . safeLink thermoprintAPI (Proxy :: Proxy ("jobs" :> QueryParam "printer" API.PrinterId :> Get '[JSON] (Seq (API.JobId, UTCTime, JobStatus)))) . Just
168 mapM_ (fork tMgr . uncurry (notifyOnChange nChan ((==) `on` fromZipper)) . bimap printerUrl queue) $ Map.toList printers 168 mapM_ (fork tMgr . uncurry (notifyOnChange nChan ((==) `on` fromZipper)) . bimap printerUrl queue) $ Map.toList printers
169 liftIO . Warp.runSettings warpSettings . withPush nChan . serve thermoprintAPI . flip enter API.thermoprintServer =<< handlerNat printers nChan 169 liftIO . Warp.runSettings warpSettings . withPush nChan . serve thermoprintAPI . flip enter API.thermoprintServer =<< handlerNat printers nChan