Haskell Web开发:HTTP客户端、配置管理与测试实践
1. HTTP客户端实现
在Haskell中处理HTTP客户端请求时,我们可以使用 http-client 包,它简单易用。下面是相关的代码和功能说明。
1.1 解析JSON响应
parseOrErr :: (MonadThrow m, FromJSON a)
=> Request -> Response LByteString -> m a
parseOrErr req resp =
case eitherDecode' $ responseBody resp of
Left _ -> throw $ UnexpectedResponse req resp
Right a -> return a
这个函数用于从HTTP响应体中提取JSON。如果响应体不是可解析的JSON, eitherDecode' 会返回 Left ,否则返回 Right 。对于 Left 情况,我们抛出 UnexpectedResponse 异常。
1.2 与RESTful API交互的函数
在 Adapter.HTTP.API.Client.Auth 模块中,我们定义了与HTTP RESTful API端点交互的函数。
超级会员免费看
订阅专栏 解锁全文
3534

被折叠的 条评论
为什么被折叠?



