def render_POST(self, request): parser = qp.QueryParser(request) query = "select distinct uuid where (%s)" % request.content.read() try: d = parser.runquery(self.db, query) except SmapException, e: setResponseCode(request, e, 400) return "query: %s\nerror: %s\n" % (query, str(e))
def add_error(x): # return a 500 so the sMAP server can hold onto the data # until things can be fixed. try: setResponseCode(request, x.value, 500) request.write(str(x.value)) request.finish() except: pass
def send_error(self, request, error): setResponseCode(request, error, 400) try: request.write(str(error.value)) except: request.write(str(error)) request.unregisterProducer() request.finish() return str(error)
def add_error(x): # return a 500 so the sMAP server can hold onto the data # until things can be fixed. settings.metrics.increment("add_error_count") try: setResponseCode(request, x.value, 500) request.write(str(x.value)) request.finish() except: pass
def render_POST(self, request, query=None): """The POST method is only used for sql-like queries. The logic for parsing the query, building the true SQL statement, and parsing out the results are in the queryparse and querygen modules. """ # make a parser and parse the request parser = qp.QueryParser(request) if not query: query = request.content.read() try: # run the query locally d = parser.runquery(self.db, query) except Exception, e: log.err("Failing query: " + str(query)) log.err() setResponseCode(request, e, 400) return str(e)
def _fail(self, request, reason): setResponseCode(request, reason, 400) request.finish()