beshrkayali / webdavclient

WebDAV Client for Nim
10 stars 1 forks source link

Doesn't work in nim 1.6 #7

Open ire4ever1190 opened 2 years ago

ire4ever1190 commented 2 years ago
/home/user/Documents/scripts/deleteold.nim(14) deleteold
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232) ls
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(28) lsNimAsyncContinue
/home/user/.nimble/pkgs/webdavclient-0.1.0/webdavclient.nim(157) lsIter
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232) request
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(28) requestNimAsyncContinue
/home/user/.nimble/pkgs/webdavclient-0.1.0/webdavclient.nim(93) requestIter
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232) request
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(28) requestNimAsyncContinue
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/httpclient.nim(1108) requestIter
[[reraised from:
/home/user/Documents/scripts/deleteold.nim(14) deleteold
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232) ls
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(28) lsNimAsyncContinue
/home/user/.nimble/pkgs/webdavclient-0.1.0/webdavclient.nim(157) lsIter
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232) request
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(31) requestNimAsyncContinue
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(131) requestIter
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncfutures.nim(389) read
]]
[[reraised from:
/home/user/Documents/scripts/deleteold.nim(14) deleteold
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232) ls
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(31) lsNimAsyncContinue
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(131) lsIter
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncfutures.nim(389) read
]]
[[reraised from:
/home/user/Documents/scripts/deleteold.nim(14) deleteold
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncdispatch.nim(1963) waitFor
/home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncfutures.nim(389) read
]]
Error: unhandled exception: Invalid HTTP method name: PROPFIND
Async traceback:
  /home/user/Documents/scripts/deleteold.nim(14)                            deleteold
  /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232)   ls
  /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(28)    lsNimAsyncContinue
  /home/user/.nimble/pkgs/webdavclient-0.1.0/webdavclient.nim(157)          lsIter
  /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232)   request
  /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(28)    requestNimAsyncContinue
  /home/user/.nimble/pkgs/webdavclient-0.1.0/webdavclient.nim(93)           requestIter
  /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232)   request
  /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(28)    requestNimAsyncContinue
  /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/httpclient.nim(1108)  requestIter
  #[
    /home/user/Documents/scripts/deleteold.nim(14)                            deleteold
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232)   ls
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(28)    lsNimAsyncContinue
    /home/user/.nimble/pkgs/webdavclient-0.1.0/webdavclient.nim(157)          lsIter
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232)   request
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(31)    requestNimAsyncContinue
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(131)   requestIter
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncfutures.nim(389) read
  ]#
  #[
    /home/user/Documents/scripts/deleteold.nim(14)                            deleteold
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(232)   ls
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(31)    lsNimAsyncContinue
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncmacro.nim(131)   lsIter
    /home/user/.choosenim/toolchains/nim-1.6.2/lib/pure/asyncfutures.nim(389) read
  ]#
Exception message: Invalid HTTP method name: PROPFIND

It seems httpclient has gotten stricter recently and doesn't allow custom HTTP methods to be passed

beshrkayali commented 2 years ago

Thanks @ire4ever1190, sorry for the late reply. Yeah, it seems this change was part of a collection of improvements on Httpcore https://github.com/nim-lang/Nim/pull/15919 introduced in 1.5! I just asked on the Nim forum what would be the recommended course of action.

beshrkayali commented 2 years ago

I've opened a PR towards Nim to include webdav defined HTTP Methods https://github.com/nim-lang/Nim/pull/19366 so hopefully it'll be addressed at some point. I'm not exactly sure what would be the best way to handle the failing packages test (specifically Jester https://github.com/dom96/jester, potentially another PR is required over there to not fail on untested HTTP methods defined under that enum)