respond:一个构建在 WAI 之上的 Haskell 库,用于处理和路由 HTTP 请求并生成响应-源码

上传者: 42122838 | 上传时间: 2021-07-05 13:06:08 | 文件大小: 33KB | 文件类型: ZIP
回应 一个构建在 WAI 之上的 Haskell 库,用于处理和路由 HTTP 请求并生成响应。 动机 你可能想知道为什么我要在 Haskell 中有大量用于 HTTP 路由的库等时去构建响应的麻烦。 (我可以说,当我开始的时候,没有那么多,但没有人会相信!)我开发这个库有三个理由。 一些 HTTP API 最好使用嵌套路由结构来表示。 事实上,这是我写回应的主要原因 - 在处理不同的项目时,我发现该项目的 API 规范中的嵌套路由没有被其他库很好地服务。 响应应该在那些路由组反复需要相同的共享路由过滤器的情况下服务。 类型安全的路径匹配和参数提取很有用,并且 response 有它。 它相当简单 - 它的核心是 ReaderT 的新型包装器,库的其余部分包含与 RespondT 实现的 monadic 接口交互的便利函数。 如果您想直接与请求交互,或者构建并发送您自己的响应,核心

文件下载

资源详情

[{"title":"( 22 个子文件 33KB ) respond:一个构建在 WAI 之上的 Haskell 库,用于处理和路由 HTTP 请求并生成响应-源码","children":[{"title":"respond-master","children":[{"title":"Setup.hs <span style='color:#111;'> 46B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"Web","children":[{"title":"Respond","children":[{"title":"Types.hs <span style='color:#111;'> 1.50KB </span>","children":null,"spread":false},{"title":"Method.hs <span style='color:#111;'> 2.46KB </span>","children":null,"spread":false},{"title":"Response.hs <span style='color:#111;'> 5.63KB </span>","children":null,"spread":false},{"title":"Run.hs <span style='color:#111;'> 2.69KB </span>","children":null,"spread":false},{"title":"DefaultServer.hs <span style='color:#111;'> 1.52KB </span>","children":null,"spread":false},{"title":"Path.hs <span style='color:#111;'> 8.96KB </span>","children":null,"spread":false},{"title":"Monad.hs <span style='color:#111;'> 10.15KB </span>","children":null,"spread":false},{"title":"Request.hs <span style='color:#111;'> 4.61KB </span>","children":null,"spread":false},{"title":"DefaultHandlers.hs <span style='color:#111;'> 2.54KB </span>","children":null,"spread":false},{"title":"HListUtils.hs <span style='color:#111;'> 1.33KB </span>","children":null,"spread":false},{"title":"Types","children":[{"title":"Response.hs <span style='color:#111;'> 5.14KB </span>","children":null,"spread":false},{"title":"Path.hs <span style='color:#111;'> 1.23KB </span>","children":null,"spread":false},{"title":"Request.hs <span style='color:#111;'> 2.14KB </span>","children":null,"spread":false},{"title":"Errors.hs <span style='color:#111;'> 6.84KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"Respond.hs <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"example","children":[{"title":"Main.hs <span style='color:#111;'> 2.50KB </span>","children":null,"spread":false}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 1.48KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 19.39KB </span>","children":null,"spread":false},{"title":"respond.cabal <span style='color:#111;'> 2.82KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 129B </span>","children":null,"spread":false},{"title":"CHANGELOG.md <span style='color:#111;'> 488B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明