diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-09-28 12:01:58 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-09-28 12:01:58 -0400 |
commit | 4fd1d116689a33ccab63800f481df84d7fab0571 (patch) | |
tree | a5c31714b9499a89e25575e4c9eed637b02259a8 | |
parent | c6fff2e0b4295712f5e50f6f688a73b427b2d2a7 (diff) |
webdav: Improve error message for failed request to include the request method and path.
-rw-r--r-- | CHANGELOG | 7 | ||||
-rw-r--r-- | Remote/WebDAV.hs | 8 |
2 files changed, 13 insertions, 2 deletions
@@ -1,3 +1,10 @@ +git-annex (6.20170926) UNRELEASED; urgency=medium + + * webdav: Improve error message for failed request to include the request + method and path. + + -- Joey Hess <id@joeyh.name> Thu, 28 Sep 2017 12:01:39 -0400 + git-annex (6.20170925) unstable; urgency=medium * git-annex export: New command, can create and efficiently update diff --git a/Remote/WebDAV.hs b/Remote/WebDAV.hs index 495b3f8fc..6714dcbe4 100644 --- a/Remote/WebDAV.hs +++ b/Remote/WebDAV.hs @@ -16,6 +16,7 @@ import qualified Data.ByteString.Lazy as L import qualified Data.ByteString.UTF8 as B8 import qualified Data.ByteString.Lazy.UTF8 as L8 import Network.HTTP.Client (HttpException(..), RequestBody) +import qualified Network.HTTP.Client as HTTP import Network.HTTP.Types import System.IO.Error import Control.Monad.Catch @@ -378,17 +379,20 @@ goDAV (DavHandle ctx user pass _) a = choke $ run $ prettifyExceptions $ do prettifyExceptions :: DAVT IO a -> DAVT IO a prettifyExceptions a = catchJust (matchStatusCodeException (const True)) a go where - go (HttpExceptionRequest _ (StatusCodeException response message)) = error $ unwords + go (HttpExceptionRequest req (StatusCodeException response message)) = giveup $ unwords [ "DAV failure:" , show (responseStatus response) , show (message) + , "HTTP request:" + , show (HTTP.method req) + , show (HTTP.path req) ] go e = throwM e #else prettifyExceptions :: DAVT IO a -> DAVT IO a prettifyExceptions a = catchJust (matchStatusCodeException (const True)) a go where - go (StatusCodeException status _ _) = error $ unwords + go (StatusCodeException status _ _) = giveup $ unwords [ "DAV failure:" , show (statusCode status) , show (statusMessage status) |