Ich versuche, einen einfachen Proxy mit Flask und Anfragen zu bauen. Der Code lautet wie folgt:Rückgabe eines Requests.Response Objekt aus Flask
@app.route('/es/<string:index>/<string:type>/<string:id>',
methods=['GET', 'POST', 'PUT']):
def es(index, type, id):
elasticsearch = find_out_where_elasticsearch_lives()
# also handle some authentication
url = '%s%s%s%s' % (elasticsearch, index, type, id)
esreq = requests.Request(method=request.method, url=url,
headers=request.headers, data=request.data)
resp = requests.Session().send(esreq.prepare())
return resp.text
Dies funktioniert, außer dass es den Statuscode von Elasticsearch verliert. Ich habe versucht, direkt resp
(a requests.models.Response
) zurückkehrt, aber das scheitert mit
TypeError: 'Response' object is not callable
Gibt es eine andere, einfach, Art und Weise ein requests.models.Response
von Flask zurückzukehren?
Legitime retter – lol
Vielen Dank! Habe eine Stunde damit verbracht, das zu umgehen. –
Verwenden Sie 'resp.content' anstelle von' resp.text', um sowohl binäre als auch Textantworten zu verarbeiten – iman