diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:26:46 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:43:56 -0700 |
| commit | e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch) | |
| tree | 06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/src/internal/ajax/getXHRResponse.ts | |
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/src/internal/ajax/getXHRResponse.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/ajax/getXHRResponse.ts | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/ajax/getXHRResponse.ts b/node_modules/rxjs/src/internal/ajax/getXHRResponse.ts new file mode 100644 index 0000000..34d7031 --- /dev/null +++ b/node_modules/rxjs/src/internal/ajax/getXHRResponse.ts @@ -0,0 +1,37 @@ +/** + * Gets what should be in the `response` property of the XHR. However, + * since we still support the final versions of IE, we need to do a little + * checking here to make sure that we get the right thing back. Consequently, + * we need to do a JSON.parse() in here, which *could* throw if the response + * isn't valid JSON. + * + * This is used both in creating an AjaxResponse, and in creating certain errors + * that we throw, so we can give the user whatever was in the response property. + * + * @param xhr The XHR to examine the response of + */ +export function getXHRResponse(xhr: XMLHttpRequest) { + switch (xhr.responseType) { + case 'json': { + if ('response' in xhr) { + return xhr.response; + } else { + // IE + const ieXHR: any = xhr; + return JSON.parse(ieXHR.responseText); + } + } + case 'document': + return xhr.responseXML; + case 'text': + default: { + if ('response' in xhr) { + return xhr.response; + } else { + // IE + const ieXHR: any = xhr; + return ieXHR.responseText; + } + } + } +} |
