This is an automated email from the ASF dual-hosted git repository. joshtynjala pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 02eb283196cc952b7909d068c31e12cd061ac561 Author: Josh Tynjala <[email protected]> AuthorDate: Fri Mar 21 13:04:00 2025 -0700 Network: fix missing IO_ERROR on JS target when HTTPService loading fails, to match the behavior of the SWF target SWF target bases it on IOErrorEvent.IO_ERROR, but with the JS target, XMLHttpRequest uses readyState == 4 to determine both successful completion and loading errors. So to determine if we should dispatch COMPLETE or IO_ERROR, we check the value of the HTTP status code when readyState == 4. --- .../Network/src/main/royale/org/apache/royale/net/HTTPService.as | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as index 9b63f35562..346b858d45 100644 --- a/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as +++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/net/HTTPService.as @@ -725,7 +725,14 @@ COMPILE::SWF } else if (element.readyState == 4) { //unset any json Object decoded (and cached) from previous response first: _json = null; - dispatchEvent(HTTPConstants.COMPLETE); + if (status >= 200 && status < 400) + { + dispatchEvent(HTTPConstants.COMPLETE); + } + else + { + dispatchEvent(HTTPConstants.IO_ERROR); + } } }
