fix(http): return request url if it cannot be retrieved from response
closes #12837
This commit is contained in:
		
							parent
							
								
									a0c58a6b5c
								
							
						
					
					
						commit
						1d53a870dd
					
				| @ -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}); | ||||
|  | ||||
| @ -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'; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user