添加tornado xheaders配置

This commit is contained in:
John Smith 2020-08-22 18:38:52 +08:00
parent 38774252cc
commit 1252e1942d
4 changed files with 21 additions and 4 deletions

View File

@ -436,7 +436,7 @@ class ChatHandler(tornado.websocket.WebSocketHandler):
int(time.time()), int(time.time()),
'blivechat', 'blivechat',
2, 2,
'Translation is not allowed in this room, please download to use translation', 'Translation is not allowed in this room. Please download to use translation',
0, 0,
False, False,
60, 60,

View File

@ -38,20 +38,26 @@ class AppConfig:
self.database_url = 'sqlite:///data/database.db' self.database_url = 'sqlite:///data/database.db'
self.enable_translate = True self.enable_translate = True
self.allow_translate_rooms = {} self.allow_translate_rooms = {}
self.tornado_xheaders = False
def load(self, path): def load(self, path):
config = configparser.ConfigParser()
config.read(path)
try: try:
config = configparser.ConfigParser()
config.read(path)
app_section = config['app'] app_section = config['app']
self.database_url = app_section['database_url'] self.database_url = app_section['database_url']
self.enable_translate = app_section.getboolean('enable_translate') self.enable_translate = app_section.getboolean('enable_translate')
allow_translate_rooms = app_section['allow_translate_rooms'].strip() allow_translate_rooms = app_section['allow_translate_rooms'].strip()
if allow_translate_rooms == '': if allow_translate_rooms == '':
self.allow_translate_rooms = {} self.allow_translate_rooms = {}
else: else:
allow_translate_rooms = allow_translate_rooms.split(',') allow_translate_rooms = allow_translate_rooms.split(',')
self.allow_translate_rooms = set(map(lambda id_: int(id_.strip()), allow_translate_rooms)) self.allow_translate_rooms = set(map(lambda id_: int(id_.strip()), allow_translate_rooms))
self.tornado_xheaders = app_section.getboolean('tornado_xheaders')
except (KeyError, ValueError): except (KeyError, ValueError):
logger.exception('Failed to load config:') logger.exception('Failed to load config:')
return False return False

View File

@ -1,15 +1,21 @@
[app] [app]
# See https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls # See https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls
database_url = sqlite:///data/database.db database_url = sqlite:///data/database.db
# Enable auto translate to Japanese # Enable auto translate to Japanese
enable_translate = true enable_translate = true
# Comma separated room IDs in which translation are not allowed. If empty, all are allowed # Comma separated room IDs in which translation are not allowed. If empty, all are allowed
# Example: allow_translate_rooms = 4895312,22347054,21693691 # Example: allow_translate_rooms = 4895312,22347054,21693691
allow_translate_rooms = allow_translate_rooms =
# Set to true if you are using a reverse proxy server such as nginx
tornado_xheaders = false
# DON'T modify this section # DON'T modify this section
[DEFAULT] [DEFAULT]
database_url = sqlite:///data/database.db database_url = sqlite:///data/database.db
enable_translate = true enable_translate = true
allow_translate_rooms = allow_translate_rooms =
tornado_xheaders = false

View File

@ -70,8 +70,13 @@ def run_server(host, port, debug):
debug=debug, debug=debug,
autoreload=False autoreload=False
) )
cfg = config.get_config()
try: try:
app.listen(port, host) app.listen(
port,
host,
xheaders=cfg.tornado_xheaders
)
except OSError: except OSError:
logger.warning('Address is used %s:%d', host, port) logger.warning('Address is used %s:%d', host, port)
return return