contentLength default to -1 if not present (#19835)
* contentLength default to -1 if not present * `httpclient.contentLength` changelog
This commit is contained in:
parent
70c25c45d6
commit
de089d7fdb
2 changed files with 3 additions and 2 deletions
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
|
||||
## Changes affecting backward compatibility
|
||||
- `httpclient.contentLength` default to `-1` if the Content-Length header is not set in the response, it followed Apache HttpClient(Java), http(go) and .Net HttpWebResponse(C#) behavior. Previously raise `ValueError`.
|
||||
|
||||
- `addr` is now available for all addressable locations,
|
||||
`unsafeAddr` is now deprecated and an alias for `addr`.
|
||||
|
|
|
|||
|
|
@ -274,9 +274,9 @@ proc contentLength*(response: Response | AsyncResponse): int =
|
|||
## This is effectively the value of the "Content-Length" header.
|
||||
##
|
||||
## A `ValueError` exception will be raised if the value is not an integer.
|
||||
var contentLengthHeader = response.headers.getOrDefault("Content-Length")
|
||||
## If the Content-Length header is not set in the response, ContentLength is set to the value -1.
|
||||
var contentLengthHeader = response.headers.getOrDefault("Content-Length", @["-1"])
|
||||
result = contentLengthHeader.parseInt()
|
||||
doAssert(result >= 0 and result <= high(int32))
|
||||
|
||||
proc lastModified*(response: Response | AsyncResponse): DateTime =
|
||||
## Retrieves the specified response's last modified time.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue