fix(http): return request url if it cannot be retrieved from response

closes #12837
This commit is contained in:
Dzmitry Shylovich 2016-11-12 20:20:50 +03:00 committed by Victor Berchet
parent a0c58a6b5c
commit 1d53a870dd
2 changed files with 17 additions and 3 deletions

View File

@ -75,9 +75,8 @@ export class XHRConnection implements Connection {
}
const headers: Headers = Headers.fromResponseHeaderString(_xhr.getAllResponseHeaders());
const url: string = getResponseURL(_xhr);
// IE 9 does not provide the way to get URL of response
const url = getResponseURL(_xhr) || req.url;
const statusText: string = _xhr.statusText || 'OK';
let responseOptions = new ResponseOptions({body, status, headers, statusText, url});

View File

@ -639,6 +639,21 @@ Connection: keep-alive`;
existingXHRs[0].dispatchEvent('load');
}));
it('should return request url if it cannot be retrieved from response',
inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
const statusCode = 200;
const connection = new XHRConnection(
sampleRequest, new MockBrowserXHR(), new ResponseOptions({status: statusCode}));
connection.response.subscribe((res: Response) => {
expect(res.url).toEqual('https://google.com');
async.done();
});
existingXHRs[0].setStatusCode(statusCode);
existingXHRs[0].dispatchEvent('load');
}));
it('should set the status text property from the XMLHttpRequest instance if present',
inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
const statusText = 'test';