cloudflare: use response.text since json may not be valid

This commit is contained in:
Girish Ramakrishnan
2024-01-16 12:34:18 +01:00
parent ee43dff35f
commit afe670b49c

View File

@@ -77,14 +77,14 @@ async function getZoneByName(domainConfig, zoneName) {
const [error, response] = await safe(createRequest('GET', `${CLOUDFLARE_ENDPOINT}/zones?name=${zoneName}&status=active`, domainConfig));
if (error) throw new BoxError(BoxError.NETWORK_ERROR, error.message);
if (response.statusCode !== 200 || response.body.success !== true) throw translateRequestError(response);
if (!response.body.result || !response.body.result.length) throw new BoxError(BoxError.NOT_FOUND, `${response.statusCode} ${JSON.stringify(response.body)}`);
if (!response.body.result || !response.body.result.length) throw new BoxError(BoxError.NOT_FOUND, `${response.statusCode} ${response.text}`);
// check 'id' and 'name_servers' exist in the response
const zone = response.body.result[0];
const zoneId = safe.query(zone, 'id');
if (typeof zoneId !== 'string') throw new BoxError(BoxError.EXTERNAL_ERROR, `No zone id in response: ${response.statusCode} ${JSON.stringify(response.body)}`);
if (typeof zoneId !== 'string') throw new BoxError(BoxError.EXTERNAL_ERROR, `No zone id in response: ${response.statusCode} ${response.text}`);
const name_servers = safe.query(zone, 'name_servers');
if (!Array.isArray(name_servers)) throw new BoxError(BoxError.EXTERNAL_ERROR, `name_servers is not an array: ${response.statusCode} ${JSON.stringify(response.body)}`);
if (!Array.isArray(name_servers)) throw new BoxError(BoxError.EXTERNAL_ERROR, `name_servers is not an array: ${response.statusCode} ${response.text}`);
return zone;
}