rest - Python Tornado: Delete request never ends -



rest - Python Tornado: Delete request never ends -

i having problems delete request in tornado. request arrives server , in handler work great, never returns response client.

i have tried returning something, "return" , without "return" , result same.

i using python 3.4, tornado 4.1 , restclient of firefox.

@web.asynchronous @gen.coroutine def delete(self, _id): try: model = model() model.delete(_id) self.set_status(204) except exception e: logging.error(e) self.set_status(500) homecoming

tornado documentation (tornado.web.asynchronous):

if decorator given, response not finished when method > returns. request handler phone call self.finish() finish > http request.

you need phone call tornado.web.requesthandler.finish method. work:

@web.asynchronous @gen.coroutine def delete(self, _id): try: model = model() model.delete(_id) self.set_status(204) except exception e: logging.error(e) self.set_status(500) self.finish() homecoming

however, don't need asynchronous approach in example. work in same way:

def delete(self, _id): try: model = model() model.delete(_id) self.set_status(204) except exception e: logging.error(e) self.set_status(500) homecoming

also, if using @gen.coroutine decorator, don't need utilize @web.asynchronous decorator. utilize @gen.coroutine, right way , much more elegant.

lastly, think should read this article understanding asynchronous programming in tornado.

python rest tornado python-3.4

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -