When doing httpJSON to GET keyId, use appHttpManager, not the silly global one

This commit is contained in:
fr33domlover 2019-01-19 02:33:20 +00:00
parent 61a82f52d8
commit 93def0dfc8

View file

@ -40,7 +40,7 @@ import Data.Time.Clock (UTCTime, getCurrentTime)
import Data.Time.Interval (TimeInterval, toTimeUnit)
import Data.Time.Units (Second)
import Network.HTTP.Client (Manager, HttpException, requestFromURI)
import Network.HTTP.Simple (httpJSONEither, getResponseBody)
import Network.HTTP.Simple (httpJSONEither, getResponseBody, setRequestManager)
import Network.URI (URI (uriFragment), parseURI)
import Text.Blaze.Html (Html)
import UnliftIO.Exception (try)
@ -155,7 +155,8 @@ postInboxR = do
u <- liftE $ case parseURI $ BC.unpack keyid of
Nothing -> Left "keyId in Sig header isn't a valid absolute URI"
Just uri -> Right uri
response <- ExceptT $ first (displayException :: HttpException -> String) <$> (try $ httpJSONEither =<< requestFromURI u)
manager <- getsYesod appHttpManager
response <- ExceptT $ first (displayException :: HttpException -> String) <$> (try $ httpJSONEither . setRequestManager manager =<< requestFromURI u)
liftE $ do
actor <- first displayException $ getResponseBody response
let uActor = u { uriFragment = "" }