[Web] Always return -1 as body length in HTTPClientWeb.
Body length cannot be reliably retrieved from the web. Reading the "content-length" value will return a meaningless value when the response is compressed, as reading will return uncompressed chunks in any case, resulting in a mismatch between the detected body size and the actual size returned by repeatedly calling read_response_body_chunk. Additionally, while "content-length" is considered a safe CORS header, "content-encoding" is not, so using the "content-encoding" to decide if "content-length" is meaningful is not an option either. We simply must accept the fact that browsers are awful when it comes to networking APIs.
This commit is contained in:
@@ -41,6 +41,7 @@
|
||||
<description>
|
||||
Returns the response's body length.
|
||||
[b]Note:[/b] Some Web servers may not send a body length. In this case, the value returned will be [code]-1[/code]. If using chunked transfer encoding, the body length will also be [code]-1[/code].
|
||||
[b]Note:[/b] This function always returns [code]-1[/code] on the Web platform due to browsers limitations.
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_response_code" qualifiers="const">
|
||||
|
||||
Reference in New Issue
Block a user