Skip to content

Commit

Permalink
Do not silence exceptions on custom plugins (#487) (#527)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomkralidis authored Jun 7, 2017
1 parent 7874d0a commit ad0dddb
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions pycsw/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,7 @@ def oaipmh(self):
def dispatch(self, writer=sys.stdout, write_headers=True):
""" Handle incoming HTTP request """

error = 0
if self.requesttype == 'GET':
self.kvp = self.normalize_kvp(self.kvp)
version_202 = ('version' in self.kvp and
Expand Down Expand Up @@ -384,10 +385,12 @@ def dispatch(self, writer=sys.stdout, write_headers=True):
self.repository = rs_cls(self.context, repo_filter)
LOGGER.debug('Custom repository %s loaded (%s)', rs, self.repository.dbtype)
except Exception as err:
msg = 'Could not load custom repository'
msg = 'Could not load custom repository %s: %s' % (rs, err)
LOGGER.exception(msg)
self.response = self.iface.exceptionreport(
'NoApplicableCode', 'service', msg)
error = 1
code = 'NoApplicableCode'
locator = 'service'
text = 'Could not initialize repository. Check server logs'

else: # load default repository
self.orm = 'sqlalchemy'
Expand All @@ -404,18 +407,18 @@ def dispatch(self, writer=sys.stdout, write_headers=True):
LOGGER.debug(
'Repository loaded (local): %s.' % self.repository.dbtype)
except Exception as err:
msg = 'Could not load repository (local)'
msg = 'Could not load repository (local): %s' % err
LOGGER.exception(msg)
self.response = self.iface.exceptionreport(
'NoApplicableCode', 'service', msg)
error = 1
code = 'NoApplicableCode'
locator = 'service'
text = 'Could not initialize repository. Check server logs'

if self.requesttype == 'POST':
LOGGER.debug('HTTP POST request')
LOGGER.debug('CSW version: %s', self.iface.version)
self.kvp = self.iface.parse_postdata(self.request)

error = 0

if isinstance(self.kvp, str): # it's an exception
error = 1
locator = 'service'
Expand Down

0 comments on commit ad0dddb

Please sign in to comment.