I am having trouble reading a POST request with bottle.py
.
The request sent has some text in its body. You can see how it's made here on line 29: https://github.com/kinetica/tries-on.js/blob/master/lib/game.js.
You can also see how it's read on a node
-based client here on line 4: https://github.com/kinetica/tries-on.js/blob/master/masterClient.js.
However, I haven't been able to mimic this behavior on my bottle.py
-based client. The docs say that I can read the raw body with a file-like object, but I can't get the data neither using a for loop on request.body
, nor using request.body
's readlines
method.
I'm handling the request in a function decorated with @route('/', method='POST')
, and requests arrive correctly.
Thanks in advance.
EDIT:
The complete script is:
from bottle import route, run, request
@route('/', method='POST')
def index():
for l in request.body:
print l
print request.body.readlines()
run(host='localhost', port=8080, debug=True)