import tornado.gen
import tornado.web

from common.web import requestsManager
from constants import exceptions
from helpers import replayHelper
from common.sentry import sentry

MODULE_NAME = "get_full_replay"
class handler(requestsManager.asyncRequestHandler):
	"""
	Handler for /replay/
	"""
	@tornado.web.asynchronous
	@tornado.gen.engine
	@sentry.captureTornado
	def asyncGet(self, replayID):
		
		fullReplay = replayHelper.buildFullReplay(scoreID=replayID, relax=0 if replayID > 500000000 else 1)

		self.write(fullReplay)
		self.add_header("Content-type", "application/octet-stream")
		self.set_header("Content-length", len(fullReplay))
		self.set_header("Content-Description", "File Transfer")
		self.set_header("Content-Disposition", "attachment; filename=\"{}.osr\"".format(replayID))