1
Я хочу отправить HTTP-запрос внешнему API, используя фреймворк Snap. Поддерживает ли Snap его? Если нет, как это сделать?Как отправить http-запрос с помощью snap-framework?
Я хочу отправить HTTP-запрос внешнему API, используя фреймворк Snap. Поддерживает ли Snap его? Если нет, как это сделать?Как отправить http-запрос с помощью snap-framework?
Вы изучали использование Network.Wreq
?
import qualified Data.ByteString.Lazy as LAZ
import qualified Data.ByteString.Lazy.Char8 as CHA
makeRequest :: IO (Network.Wreq.Response LAZ.ByteString)
makeRequest = do
res <- get "https://www.example.com"
let resBody = res ^. responseBody :: CHA.ByteString
return (resBody)
Использует простой синтаксис линз и поддерживает HTTP и HTTPS.
Я надеялся, что это будет поддержка, но, видимо, я должен использовать библиотеку. Я это проверю. –
Snap - это HTTP-сервер, а не клиент. Существует несколько клиентских библиотек HTTP, которые вы могли бы использовать. Тот, который, вероятно, является «самым близким» для привязки, - это [http-streams] (http://hackage.haskell.org/package/http -streams). Обе привязки и HTTP-потоки создаются поверх [io-streams] (http://hackage.haskell.org/package/io-streams). – mightybyte