@@ -51,7 +51,7 @@ import Text.Pandoc.Biblio
52import Control.Monad (when, unless, liftM)
52import Control.Monad (when, unless, liftM)
53import Network.HTTP (simpleHTTP, mkRequest, getResponseBody, RequestMethod(..))
53import Network.HTTP (simpleHTTP, mkRequest, getResponseBody, RequestMethod(..))
54−import Network.URI (parseURI, isURI)
54+import Network.URI (parseURI, isURI, URI(..))
55import qualified Data.ByteString.Lazy as B
55import qualified Data.ByteString.Lazy as B
56import Data.ByteString.Lazy.UTF8 (toString, fromString)
56import Data.ByteString.Lazy.UTF8 (toString, fromString)
57import Codec.Binary.UTF8.String (decodeString, encodeString)
57import Codec.Binary.UTF8.String (decodeString, encodeString)
@@ -835,8 +835,9 @@ main = do
835 readSources srcs = mapM readSource srcs
835 readSources srcs = mapM readSource srcs
836 readSource "-" = UTF8.getContents
836 readSource "-" = UTF8.getContents
837 readSource src = case parseURI src of
837 readSource src = case parseURI src of
838+ Just u | uriScheme u `elem` ["http:","https:"] ->
838− Just u -> readURI u
839+ readURI u
839− Nothing -> UTF8.readFile src
840+ _ -> UTF8.readFile src
840 readURI uri = simpleHTTP (mkRequest GET uri) >>= getResponseBody >>=
841 readURI uri = simpleHTTP (mkRequest GET uri) >>= getResponseBody >>=
841 return . toString -- treat all as UTF8
842 return . toString -- treat all as UTF8