diff --git a/pygeoapi/api.py b/pygeoapi/api.py index b745989..6683b5a 100644 --- a/pygeoapi/api.py +++ b/pygeoapi/api.py @@ -68,7 +68,8 @@ from pygeoapi.plugin import load_plugin, PLUGINS from pygeoapi.provider.base import ( ProviderGenericError, ProviderConnectionError, ProviderNotFoundError, ProviderInvalidDataError, ProviderInvalidQueryError, ProviderNoDataError, - ProviderQueryError, ProviderItemNotFoundError, ProviderTypeError) + ProviderQueryError, ProviderItemNotFoundError, ProviderTypeError, + ProviderRequestEntityTooLargeError) from pygeoapi.provider.tile import (ProviderTileNotFoundError, ProviderTileQueryError, @@ -3647,6 +3648,10 @@ class API: return self.get_exception( HTTPStatus.INTERNAL_SERVER_ERROR, headers, request.format, 'NoApplicableCode', msg) + except ProviderRequestEntityTooLargeError as err: + return self.get_exception( + HTTPStatus.REQUEST_ENTITY_TOO_LARGE, headers, request.format, + 'NoApplicableCode', str(err)) if request.format == F_HTML: # render content = render_j2_template(self.config, diff --git a/pygeoapi/provider/base.py b/pygeoapi/provider/base.py index 82204af..41f2c0a 100644 --- a/pygeoapi/provider/base.py +++ b/pygeoapi/provider/base.py @@ -313,3 +313,8 @@ class ProviderVersionError(ProviderGenericError): class ProviderInvalidDataError(ProviderGenericError): """provider invalid data error""" pass + + +class ProviderRequestEntityTooLargeError(ProviderGenericError): + """provider request entity too large error""" + pass