HttpsStatusCodeAttribute not working properly.
-
wrote on 27 Jan 2025, 01:31 last edited by
Hello,
I am looking for some help getting the HTTP status codes from messages I receive from my HTTP server.
auto status = rep->attribute(QNetworkRequest::HttpStatusCodeAttribute);
By using the line above, I am properly receiving replies such as 200 or 204 from the HTTP server when it is compiled as a desktop application. However, when I run it under WebAssembly, the status is always 0 (independent of the actual reply).
According to the description for HttpStatusCodeAttribute (QNetworkRequest class): "If the connection was not HTTP-based, this attribute will not be present". It looks to me that under WebAssembly this is not treated as an HTTP response.
I can see proper communication in WireShark, but the result of
status
variable is incorrect.Any recommendations?
-
wrote on 1 Feb 2025, 13:18 last edited by leonidh 2 Jan 2025, 13:22
After some investigation, I don't believe the issue is related to the
attribute
method. The entire received reply is empty. There are no headers or body received by the application. The Wireshark capture shows that the entire message is properly sent out by my HTTP server and received by the browser, however, the application does not receive it.I checked if any error was reported by the reply and received an error
QNetworkReply::ProtocolFailure
(399). I believe the browser strips that information and does not propagate it further to the application. I tested this in Firefox and Chrome with the same results.As I mentioned in my original post, the communication works perfectly when compiled as a desktop application. The issue was only observed when compiled by WebAssembly.
I will close this post and reopen a new one with a new question.
-
wrote on 28 Jan 2025, 22:27 last edited by
Perhaps report a bug? https://bugreports.qt.io
-
Perhaps report a bug? https://bugreports.qt.io
wrote on 29 Jan 2025, 13:51 last edited by@lorn-potter Thank you. I was hoping that I was doing something wrong.
Do you have any recommendations to get the HTTP response status codes any other way? -
wrote on 1 Feb 2025, 13:18 last edited by leonidh 2 Jan 2025, 13:22
After some investigation, I don't believe the issue is related to the
attribute
method. The entire received reply is empty. There are no headers or body received by the application. The Wireshark capture shows that the entire message is properly sent out by my HTTP server and received by the browser, however, the application does not receive it.I checked if any error was reported by the reply and received an error
QNetworkReply::ProtocolFailure
(399). I believe the browser strips that information and does not propagate it further to the application. I tested this in Firefox and Chrome with the same results.As I mentioned in my original post, the communication works perfectly when compiled as a desktop application. The issue was only observed when compiled by WebAssembly.
I will close this post and reopen a new one with a new question.
-
4/4