def post(self):
from flask import current_app
logger = current_app.logger
from tasks import raw_query
import os.path
logger.debug("Entering RawQuery::post")
query = request.form.lists()[0][0]
headers = {
key: value for (key, value) in request.headers.iteritems() if key in STENO_HEADERS }
result = raw_query.apply_async(kwargs={'query': query, 'headers': headers})
while not result.ready():
pass
if result.successful():
rc, message = result.result
# Everything is normal
if rc == 0 and os.path.isfile(message):
fname = os.path.basename(message)
rv = send_file(
message,
mimetype='application/vnd.tcpdump.pcap',
as_attachment=True,
attachment_filename=fname
)
return rv
else:
HTTPException(message="Response file not found", status_code=404)
else:
# Something failed
HTTPException(message="RC: {} Message: {}".format(rc, message), status_code=500)
评论列表
文章目录