From c0ef2d760a4b2ec9e70e608e666cbae8c713663a Mon Sep 17 00:00:00 2001 From: Josh Zana Date: Thu, 16 Apr 2015 17:20:27 -0700 Subject: [PATCH] Implement XmlHttpRequestBase#getAllResponseHeaders and getResponseHeader Used https://github.com/facebook/react-native/pull/382 as inspiration but modified to return null instead of undefined as per the spec at https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest This unblocks use of Dropbox.js within a react-native app, as well as any other libraries that make use of these methods in XHR usage --- Libraries/Network/XMLHttpRequestBase.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Libraries/Network/XMLHttpRequestBase.js b/Libraries/Network/XMLHttpRequestBase.js index d7619d07546f07..0604bce0f60ccd 100644 --- a/Libraries/Network/XMLHttpRequestBase.js +++ b/Libraries/Network/XMLHttpRequestBase.js @@ -53,13 +53,22 @@ class XMLHttpRequestBase { } getAllResponseHeaders(): ?string { - /* Stub */ - return ''; + if (this.responseHeaders) { + var headers = []; + for (var headerName in this.responseHeaders) { + headers.push(headerName + ': ' + this.responseHeaders[headerName]); + } + return headers.join('\n'); + } + return null; } getResponseHeader(header: string): ?string { - /* Stub */ - return ''; + if (this.responseHeaders) { + var value = this.responseHeaders[header]; + return value != undefined ? value : null; + } + return null; } setRequestHeader(header: string, value: any): void {