Commit 4102b0d2 authored by Mikhail Glushenkov's avatar Mikhail Glushenkov
Browse files

Fix a corner case in etag code.

parent f89f6628
......@@ -103,8 +103,10 @@ downloadURI verbosity uri path | uriScheme uri == "file:" = do
-- hash matches to avoid unnecessary computation?
downloadURI verbosity uri path = do
let etagPath = path <.> "etag"
targetExists <- doesFileExist path
etagPathExists <- doesFileExist etagPath
etag <- if etagPathExists
-- In rare cases the target file doesn't exist, but the etag does.
etag <- if targetExists && etagPathExists
then liftM Just $ readFile etagPath
else return Nothing
......@@ -116,8 +118,8 @@ downloadURI verbosity uri path = do
(3,0,4) -> Right rsp
(a,b,c) -> Left err
where
err = ErrorMisc $ "Unsucessful HTTP code: "
++ concatMap show [a,b,c]
err = ErrorMisc $ "Error HTTP code: "
++ concatMap show [a,b,c]
-- Only write the etag if we get a 200 response code.
-- A 304 still sends us an etag header.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment