In looking at T200346, I noticed a couple of things with MWHttpRequest that I think could be problems:
- https://phabricator.wikimedia.org/rMW0584339f5edf42b7f90d9cfbeb45820f483fe1f7 sets respStatus = 0 when a request failed without valid headers, but MWHttpRequest assumes that any response code < 399 is a successful response.
- In some cases, result codes > 399 may not actually indicate a failure. In other cases it does. MWHttpRequest does not have a mechanism by which to indicate when other response codes are acceptable.