I have enabled threaded
in the Flask dev server but it seems that it doesn't fix the "Broken pipe" error described in Flask broken pipe with requests.
from flask import Flask, request
import requests
app = Flask(__name__)
@app.route('/compare', methods=['POST'])
def compare():
data = request.get_json()
img = data['img']
imgdata = requests.get(img).content # Error is from here
filename = 'hello.jpg'
with open(filename, 'wb') as f:
f.write(imgdata)
return 'Yes'
if __name__ == '__main__':
app.run(threaded=True, host='0.0.0.0', port=80)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/SocketServer.py", line 651, in __init__
self.finish()
File "/usr/lib/python2.7/SocketServer.py", line 710, in finish
self.wfile.close()
File "/usr/lib/python2.7/socket.py", line 279, in close
self.flush()
File "/usr/lib/python2.7/socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe