@loaders.gl/wms
Version:
Framework-independent loaders for the WMS (Web Map Service) standard
25 lines (22 loc) • 802 B
text/typescript
// loaders.gl
// SPDX-License-Identifier: MIT
// Copyright (c) vis.gl contributors
import {XMLLoader} from '@loaders.gl/xml';
/**
* Extract an error message from WMS error response XML
* @param text
* @param options
* @returns a string with a human readable message
*/
export function parseWMSError(text: string, options): string {
const parsedXML = XMLLoader.parseTextSync?.(text, options);
const serviceExceptionXML =
parsedXML?.ServiceExceptionReport?.ServiceException ||
parsedXML?.['ogc:ServiceExceptionReport']?.['ogc:ServiceException'];
// Sigh, can be either a string or an object
const message =
typeof serviceExceptionXML === 'string'
? serviceExceptionXML
: serviceExceptionXML.value || serviceExceptionXML.code || 'Unknown error';
return message;
}