@@ -8,42 +8,44 @@ module Hakyll.Check
88
99
1010--------------------------------------------------------------------------------
11−import Control.Applicative ((<$>))
12−import Control.Monad (forM_)
13−import Control.Monad.Reader (ask)
14−import Control.Monad.RWS (RWST, runRWST)
15−import Control.Monad.Trans (liftIO)
16−import Control.Monad.Writer (tell)
17−import Data.List (isPrefixOf)
18−import Data.Monoid (Monoid (..))
19−import Data.Set (Set)
20−import qualified Data.Set as S
21−import Network.URI (unEscapeString)
22−import System.Directory (doesDirectoryExist, doesFileExist)
23−import System.Exit (ExitCode (..))
24−import System.FilePath (takeDirectory, takeExtension, (</>))
25−import qualified Text.HTML.TagSoup as TS
11+import Control.Monad (forM_)
12+import Control.Monad.Reader (ask)
13+import Control.Monad.RWS (RWST, runRWST)
14+import Control.Monad.Trans (liftIO)
15+import Control.Monad.Trans.Resource (runResourceT)
16+import Control.Monad.Writer (tell)
17+import Data.List (isPrefixOf)
18+import Data.Set (Set)
19+import qualified Data.Set as S
20+import Network.URI (unEscapeString)
21+import System.Directory (doesDirectoryExist,
22+ doesFileExist)
23+import System.Exit (ExitCode (..))
24+import System.FilePath (takeDirectory, takeExtension,
25+ (</>))
26+import qualified Text.HTML.TagSoup as TS
2627
2728
2829--------------------------------------------------------------------------------
2930#ifdef CHECK_EXTERNAL
30−import Control.Exception (AsyncException (..),
31− SomeException (..), handle, throw)
32−import Control.Monad.State (get, modify)
33−import Data.List (intercalate)
34−import Data.Typeable (cast)
35−import Data.Version (versionBranch)
36−import GHC.Exts (fromString)
37−import qualified Network.HTTP.Conduit as Http
38−import qualified Network.HTTP.Types as Http
39−import qualified Paths_hakyll as Paths_hakyll
31+import Control.Exception (AsyncException (..),
32+ SomeException (..), handle,
33+ throw)
34+import Control.Monad.State (get, modify)
35+import Data.List (intercalate)
36+import Data.Typeable (cast)
37+import Data.Version (versionBranch)
38+import GHC.Exts (fromString)
39+import qualified Network.HTTP.Conduit as Http
40+import qualified Network.HTTP.Types as Http
41+import qualified Paths_hakyll as Paths_hakyll
4042#endif
4143
4244
4345--------------------------------------------------------------------------------
4446import Hakyll.Core.Configuration
45−import Hakyll.Core.Logger (Logger)
46−import qualified Hakyll.Core.Logger as Logger
47+import Hakyll.Core.Logger (Logger)
48+import qualified Hakyll.Core.Logger as Logger
4749import Hakyll.Core.Util.File
4850import Hakyll.Web.Html
4951
@@ -196,8 +198,9 @@ checkExternalUrl url = do
196198 if not needsCheck || checked
197199 then Logger.debug logger "Already checked, skipping"
198200 else do
199− isOk <- liftIO $ handle (failure logger) $
200− Http.withManager $ \mgr -> do
201+ isOk <- liftIO $ handle (failure logger) $ do
202+ mgr <- Http.newManager Http.tlsManagerSettings
203+ runResourceT $ do
201204 request <- Http.parseUrl urlToCheck
202205 response <- Http.http (settings request) mgr
203206 let code = Http.statusCode (Http.responseStatus response)