问题标签 [servant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - 在 Haskell 中获取网页的状态码
我试图找到一种方法来检查 Haskell 中是否存在网页。服务器仅是 HTTP2 / HTTPS,我正在尝试检查该页面是否存在于服务应用程序中。
是否有任何带有良好文档的 Haskell 包来检查状态码是 200 还是 404?并使用强大的 HTTPS 和 HTTP2 服务器?
这是我目前使用 http-conduit 所拥有的,但我收到了奇怪的异常(TlsExceptionHostPort (HandshakeFailed (Error_Protocol ("expecting server hello, got alert : [(AlertLevel_Fatal,HandshakeFailure)]",True,HandshakeFailure))) "thibaud.dauce .fr" 443 和 StatusCodeException)。
mongodb - 在 Servant 中持久化 MongoDB
我尝试persistent
在 Servant webservices API 中使用 MongoDB。下面是我的型号代码(Model.hs
)
以及访问数据库的代码:
这给了我一个错误:
我理解这个错误,但我认为库应该自动生成从Document -> User
.
为此生成的函数是什么?
haskell - 使用带有仆人的自定义阅读器 Monad 进行身份验证
受基本身份验证保护的 API
支持类型的处理程序AuthData -> Handler a
。
我有一组处理程序:
它在 AuthMonad 中运行,这是一个 ReaderT,其上下文部分由 AuthData 构建。使用enter
and AuthMonad :~> Handler
,我可以获得Server API
类型的支持处理程序AuthData -> AuthMonad
,但我真正想做的是使用AuthData
参数作为 runReaderT 的环境。
我对正在进行的类型巫术了解得不够多,enter
无法理解如何做到这一点。有任何想法吗?
haskell - 从servant-0.4.4.7 迁移到servant-0.7.1
我使用了servant-0.4.4.7
. 以下是我的模型代码:
这段代码有效。但是当我使用时servant-0.7.1
,我得到了错误:
我知道存在类型不匹配,但如何解决它,我无法理解。
谢谢!
ajax - 在Servant中使用ajax
我将 Haskell 与servant-0.7.1
实现服务器一起使用。以下是我的源代码:
型号User
:
使用了testin curl
,如下图所示。
一切正常。将数据添加到数据库中。但是当我ajax
从后端使用时,如下图所示。
我得到一个错误!
调试器检查对象objectData
。好的(Object {userFam: "qqq", userIm: "www", userOt: "eee", userEmail: "rrr", userLogin: "ttt"…}
)。我不明白发生了什么事。
haskell - 将 failWith 与 Servant 和自定义 monad 堆栈一起使用
我将Servant与自定义 monad 堆栈一起使用:
现在,在许多处理程序中,我只需要从 db 获取一些数据(持久)并对其采取行动,所以我得到了:
事实证明,当从 db 获取时,您一定会使用Maybe
,并且通常当 Maybe 是 时Nothing
,您只想抛出错误,以便 Servant 服务器将其转换为正确的 HTTP 响应。这使我发现了Control.Error.Util
和(!?) :: Applicative m => m (Maybe a) -> e -> ExceptT e m a
帮助者。所以我尝试了以下操作:
但这不会编译,!?
这里的结果是ExceptT ServantErr m0 (Entity SomeEntity)
但我不再使用这种处理程序类型,它需要AppHandler (Entity SomeEntity)
. 我如何将这样的值转换回我的处理程序类型?
web-services - Haskell Servant - 有没有办法组合 API 类型?
我知道这不是有效的语法,但是有没有办法在仆人中完成这样的事情?
换句话说,组合 API。在 Spock 中,我可以通过 monadic 路线构造来做到这一点,但我不确定如何在仆人中做到这一点。
这样我就可以跨 API 重用共享路由。使用它的另一个原因是某些类型不能与客户端生成器一起使用,例如 Raw。
haskell - 带有 FromJSON 约束的类型变量的仆人客户端
我正在尝试使用服务库创建与 Web API 的客户端绑定。我希望能够发送任何 JSON 对象。
现在,当我尝试编译它时,出现错误消息:
如何参数化我的MyAPI
,client
并Proxy
接受类型变量?
haskell - 仆人服务器发送事件支持
如何为服务方定义服务器发送事件 (SSE) 端点。文档似乎没有涵盖这种情况。
如果 Servant 不是为实时用例设计的,哪个 Haskell 服务器框架支持 SSE?