Я изучаю возможности реализации HTTP-метода CONNECT, который позволяет туннелировать данные по HTTP. . Однако я не смог найти способ реализовать двунаправленную обработку в одном запросе Snap. Самое близкое, что я нашел, это transformRequestBody
transformRequestBodySource :: (forall a. Enumerator Builder IO a) -> Snap ()
но это только преобразует ввод запроса в вывод ответа, в то время как мне нужно обрабатывать ввод и вывод одновременно, чтобы передавать данные запрошенному целевому ресурсу.