From 214da7217bfc86d0bbe7c0175d2e2e97a00313a5 Mon Sep 17 00:00:00 2001 From: Mauro Bieg Date: Tue, 28 May 2019 17:51:21 +0200 Subject: Fix handling of `file:` URL scheme in `downloadOrRead` (#5522) Move up the pattern match to be reachable, closes #5517. Previously `file:/` URLs were handled wrongly and pandoc attempted to make HTTP requests, which failed. --- src/Text/Pandoc/Class.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/Text/Pandoc/Class.hs') diff --git a/src/Text/Pandoc/Class.hs b/src/Text/Pandoc/Class.hs index fb3cfa72a..8d9caa6e8 100644 --- a/src/Text/Pandoc/Class.hs +++ b/src/Text/Pandoc/Class.hs @@ -572,10 +572,10 @@ downloadOrRead s = do Nothing -> openURL s' -- will throw error (Nothing, s') -> case parseURI s' of -- requires absolute URI - -- We don't want to treat C:/ as a scheme: - Just u' | length (uriScheme u') > 2 -> openURL (show u') Just u' | uriScheme u' == "file:" -> readLocalFile $ uriPathToPath (uriPath u') + -- We don't want to treat C:/ as a scheme: + Just u' | length (uriScheme u') > 2 -> openURL (show u') _ -> readLocalFile fp -- get from local file system where readLocalFile f = do resourcePath <- getResourcePath -- cgit v1.2.3