DELETE requests should always have a content-length header

Not having DELETE in this list is causing hanging when trying to close webdriver sessions in [halonium](https://github.com/halonium/halonium/issues/10) and likely any other implementation of the webdriver protocol. Both at least chromedriver and geckodriver are affected by this issue.
This commit is contained in:
Joey 2021-01-06 14:03:59 -07:00 • committed by GitHub
commit 944a0ac318
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -980,7 +980,7 @@ proc requestAux(client: HttpClient | AsyncHttpClient, url, httpMethod: string,
var data: seq[string] var data: seq[string]
if multipart != nil and multipart.content.len > 0: if multipart != nil and multipart.content.len > 0:
data = await client.format(multipart) data = await client.format(multipart)
elif httpMethod in ["POST", "PATCH", "PUT"] or body.len != 0: elif httpMethod in ["POST", "PATCH", "PUT", "DELETE"] or body.len != 0:
client.headers["Content-Length"] = $body.len client.headers["Content-Length"] = $body.len
when client is AsyncHttpClient: when client is AsyncHttpClient: