【发布时间】:2017-09-05 10:33:10
【问题描述】:
我有一个 HTTP 应用程序服务器,在某些条件下处理某个请求时需要退出(以便由主管重新启动)。
给定一个主要的喜欢:
import Network.Wai.Handler.Warp (run)
main :: IO ()
main = do
config <- readConfig
run (portNumber config) (makeApp config)
还有一个类似的处理程序:
livenessServer1 :: UTCTime -> FilePath -> Server LivenessProbeAPI1
livenessServer1 initialModificationTime monitorPath = do
mtime <- liftIO $ getModificationTime monitorPath
case mtime == initialModificationTime of
True -> return $ Liveness initialModificationTime mtime
False -> throwError $ err500 { errBody = "File modified." }
在发送 500 响应后如何使流程结束?
【问题讨论】:
-
使用
error "Oops!"之类的东西来抛出错误,因为默认情况下 Warp 不处理错误。
标签: haskell haskell-warp