def GET(self, *args): """ Call the get method defined in a subclass and return its result. Return a JSON dump of the returned value, or the raw result if a content type was returned. """ try: result = self.get(*args) if isinstance(result, tuple): web.header('Content-Type', result[1]) return result[0] web.header('Content-Type', 'application/json') return json.dumps(result) except web.webapi.HTTPError: raise except Exception: stringLogger = util.StringLogger() util.reportExceptionAndContinue(stringLogger) try: util.reportExceptionAndContinue(self.context.logger) except (AttributeError, KeyError): pass raise Exception(stringLogger.getMessages())
""" try: result = self.get(*args) if isinstance(result, tuple): web.header('Content-Type', result[1]) return result[0] web.header('Content-Type', 'application/json') return json.dumps(result) except web.webapi.HTTPError: raise except (DatabaseError, InsertionError), e: raise web.webapi.InternalError(message=str(e)) except (MissingArgumentError, BadArgumentError), e: raise BadRequest(str(e)) except Exception: stringLogger = util.StringLogger() util.reportExceptionAndContinue(stringLogger) try: util.reportExceptionAndContinue(self.config.logger) except (AttributeError, KeyError): pass raise Exception(stringLogger.getMessages()) def get(self, *args): raise NotImplementedError( "The GET function has not been implemented for %s" % repr(args) ) def POST(self, *args): """ Call the post method defined in a subclass and return its result.