@apollo/client
Version:
A fully-featured caching GraphQL client.
33 lines • 1.32 kB
JavaScript
import { throwServerError } from "../utils/index.js";
var hasOwnProperty = Object.prototype.hasOwnProperty;
export function parseAndCheckHttpResponse(operations) {
return function (response) { return response
.text()
.then(function (bodyText) {
try {
return JSON.parse(bodyText);
}
catch (err) {
var parseError = err;
parseError.name = 'ServerParseError';
parseError.response = response;
parseError.statusCode = response.status;
parseError.bodyText = bodyText;
throw parseError;
}
})
.then(function (result) {
if (response.status >= 300) {
throwServerError(response, result, "Response not successful: Received status code ".concat(response.status));
}
if (!Array.isArray(result) &&
!hasOwnProperty.call(result, 'data') &&
!hasOwnProperty.call(result, 'errors')) {
throwServerError(response, result, "Server response was missing for query '".concat(Array.isArray(operations)
? operations.map(function (op) { return op.operationName; })
: operations.operationName, "'."));
}
return result;
}); };
}
//# sourceMappingURL=parseAndCheckHttpResponse.js.map