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