mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-06 16:18:12 +08:00
add config and init for server timings (#1368)
* add config and init for server timings * add missing config error check
This commit is contained in:
@@ -4,6 +4,7 @@ import logging
|
|||||||
from flask import Flask, redirect, current_app, make_response, render_template, abort
|
from flask import Flask, redirect, current_app, make_response, render_template, abort
|
||||||
from flask import Blueprint, request
|
from flask import Blueprint, request
|
||||||
from flask_restful import Api, Resource
|
from flask_restful import Api, Resource
|
||||||
|
from server_timing import Timing as ServerTiming
|
||||||
|
|
||||||
from http import HTTPStatus
|
from http import HTTPStatus
|
||||||
|
|
||||||
@@ -235,6 +236,8 @@ class Server:
|
|||||||
self.app = Flask(__name__, static_folder="../common/web/static")
|
self.app = Flask(__name__, static_folder="../common/web/static")
|
||||||
self._before_adding_routes(app_config)
|
self._before_adding_routes(app_config)
|
||||||
self.app.json_encoder = Float32JSONEncoder
|
self.app.json_encoder = Float32JSONEncoder
|
||||||
|
if app_config.server__server_timing_headers:
|
||||||
|
ServerTiming(self.app, force_debug=True)
|
||||||
|
|
||||||
# enable session data
|
# enable session data
|
||||||
self.app.permanent_session_lifetime = datetime.timedelta(days=50 * 365)
|
self.app.permanent_session_lifetime = datetime.timedelta(days=50 * 365)
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ class AppConfig(object):
|
|||||||
self.server__force_https = dc["server"]["force_https"]
|
self.server__force_https = dc["server"]["force_https"]
|
||||||
self.server__flask_secret_key = dc["server"]["flask_secret_key"]
|
self.server__flask_secret_key = dc["server"]["flask_secret_key"]
|
||||||
self.server__generate_cache_control_headers = dc["server"]["generate_cache_control_headers"]
|
self.server__generate_cache_control_headers = dc["server"]["generate_cache_control_headers"]
|
||||||
|
self.server__server_timing_headers = dc["server"]["server_timing_headers"]
|
||||||
|
|
||||||
self.multi_dataset__dataroot = dc["multi_dataset"]["dataroot"]
|
self.multi_dataset__dataroot = dc["multi_dataset"]["dataroot"]
|
||||||
self.multi_dataset__index = dc["multi_dataset"]["index"]
|
self.multi_dataset__index = dc["multi_dataset"]["index"]
|
||||||
@@ -201,6 +202,7 @@ class AppConfig(object):
|
|||||||
self.__check_attr("server__force_https", bool)
|
self.__check_attr("server__force_https", bool)
|
||||||
self.__check_attr("server__flask_secret_key", (type(None), str))
|
self.__check_attr("server__flask_secret_key", (type(None), str))
|
||||||
self.__check_attr("server__generate_cache_control_headers", bool)
|
self.__check_attr("server__generate_cache_control_headers", bool)
|
||||||
|
self.__check_attr("server__server_timing_headers", bool)
|
||||||
|
|
||||||
if self.server__port:
|
if self.server__port:
|
||||||
if not is_port_available(self.server__host, self.server__port):
|
if not is_port_available(self.server__host, self.server__port):
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ server:
|
|||||||
force_https: false
|
force_https: false
|
||||||
flask_secret_key: null
|
flask_secret_key: null
|
||||||
generate_cache_control_headers: false
|
generate_cache_control_headers: false
|
||||||
|
server_timing_headers: false
|
||||||
|
|
||||||
presentation:
|
presentation:
|
||||||
max_categories: 1000
|
max_categories: 1000
|
||||||
|
|||||||
Reference in New Issue
Block a user