是否可以使用Snap框架实现CONNECT HTTP方法?

时间:2014-11-18 10:02:23

标签: haskell tunneling haskell-snap-framework http-method http-tunneling

我正在研究如何实现允许tunneling data over HTTP的CONNECT HTTP方法的可能性。但是,我找不到如何在一个Snap请求中实现双向处理的方法。我找到的最接近的是transformRequestBody

transformRequestBodySource :: (forall a. Enumerator Builder IO a) -> Snap ()

但这只会将请求输入转换为响应输出,而我需要同时处理输入和输出以将数据中继到请求的目标资源。

1 个答案:

答案 0 :(得分:2)

我相信这是通过escapeHttp。我通过查看the source for websockets-snap来发现这一点,这可能是升级连接的正确方法。

作为参考,在WAI世界中,这是通过responseRaw函数处理的。