Можно ли реализовать HTTP-метод CONNECT с фреймворком Snap?

Я изучаю возможности реализации HTTP-метода CONNECT, который позволяет туннелировать данные по HTTP. . Однако я не смог найти способ реализовать двунаправленную обработку в одном запросе Snap. Самое близкое, что я нашел, это transformRequestBody

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

но это только преобразует ввод запроса в вывод ответа, в то время как мне нужно обрабатывать ввод и вывод одновременно, чтобы передавать данные запрошенному целевому ресурсу.


person Petr    schedule 18.11.2014    source источник


Ответы (1)


Я считаю, что это через escapeHttp. Я обнаружил это, просмотрев source для websockets-snap, что, по-видимому, является правильным способом обновления соединения.

Для справки, в мире WAI это обрабатывается с помощью функции responseRaw.

person Michael Snoyman    schedule 18.11.2014