Edr Providers can raise Request Entity Too Large HTTP status (#1119)
* Edr Providers can raise Request Entity Too Large HTTP status * Rename and move entity too large exception to provider base module * Get request too large exception message from base exception message * Rename request to large exception --------- Co-authored-by: Peter Garnæs <pga@dmi.dk>
This commit is contained in:
+6
-1
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user