【发布时间】:2016-07-04 14:37:40
【问题描述】:
我创建了一个自定义服务处理程序
type ServiceSet = TVar (M.Map String [MicroService])
type LocalHandler = ReaderT ServiceSet IO
但我未能找到一种方法来在以下函数中向客户端响应 404-not-found 状态代码:
getService :: String -> LocalHandler MicroService
getService sn = do
tvar <- ask
ms <- liftIO $ do
sl <- atomically $ do
sm <- readTVar tvar
return $ case M.lookup sn sm of
Nothing -> []
Just sl -> sl
let n = length sl
i <- randomRIO (0, n - 1)
return $ if n == 0
then Nothing
else Just . head . drop i $ sl
case ms of
Nothing -> ??? -- throwError err404
Just ms' -> return ms'
???如何发送404状态码?
【问题讨论】: