Allow https: to work in pandoc command line arguments.
(Use openURL from Shared instead of simpleHTTP.)
This commit is contained in:
parent
5314df51f3
commit
9b6f1fc495
1 changed files with 8 additions and 5 deletions
13
pandoc.hs
13
pandoc.hs
|
@ -35,7 +35,8 @@ import Text.Pandoc.Builder (setMeta)
|
|||
import Text.Pandoc.PDF (makePDF)
|
||||
import Text.Pandoc.Readers.LaTeX (handleIncludes)
|
||||
import Text.Pandoc.Shared ( tabFilter, readDataFileUTF8, readDataFile,
|
||||
safeRead, headerShift, normalize, err, warn )
|
||||
safeRead, headerShift, normalize, err, warn,
|
||||
openURL )
|
||||
import Text.Pandoc.XML ( toEntities )
|
||||
import Text.Pandoc.SelfContained ( makeSelfContained )
|
||||
import Text.Pandoc.Process (pipeProcess)
|
||||
|
@ -55,7 +56,6 @@ import Control.Exception.Extensible ( throwIO )
|
|||
import qualified Text.Pandoc.UTF8 as UTF8
|
||||
import Control.Monad (when, unless, liftM)
|
||||
import Data.Foldable (foldrM)
|
||||
import Network.HTTP (simpleHTTP, mkRequest, getResponseBody, RequestMethod(..))
|
||||
import Network.URI (parseURI, isURI, URI(..))
|
||||
import qualified Data.ByteString.Lazy as B
|
||||
import qualified Data.ByteString as BS
|
||||
|
@ -1120,10 +1120,13 @@ main = do
|
|||
readSource "-" = UTF8.getContents
|
||||
readSource src = case parseURI src of
|
||||
Just u | uriScheme u `elem` ["http:","https:"] ->
|
||||
readURI u
|
||||
readURI src
|
||||
_ -> UTF8.readFile src
|
||||
readURI uri = simpleHTTP (mkRequest GET uri) >>= getResponseBody >>=
|
||||
return . UTF8.toStringLazy -- treat all as UTF8
|
||||
readURI src = do
|
||||
res <- openURL src
|
||||
case res of
|
||||
Left e -> throwIO e
|
||||
Right (bs,_) -> return $ UTF8.toString bs
|
||||
|
||||
let convertTabs = tabFilter (if preserveTabs then 0 else tabStop)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue