1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import tornado.web
import os.path
import config
class GameDataHandler(tornado.web.StaticFileHandler):
def initialize(self):
super(GameDataHandler, self).initialize(".")
def head(self, version, path):
self.get(version, path, include_body=False)
def get(self, version, path, include_body=True):
if version not in GameDataHandler._client_paths:
raise tornado.web.HTTPError(404)
self.root = GameDataHandler._client_paths[version]
super(GameDataHandler, self).get(path, include_body)
def set_extra_headers(self, path):
if config.game_data_no_cache:
self.set_header("Cache-Control",
"no-cache, no-store, must-revalidate")
self.set_header("Pragma", "no-cache")
self.set_header("Expires", "0")
_client_paths = {}
@classmethod
def add_version(cls, version, path):
cls._client_paths[version] = os.path.abspath(path)
|