mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-23 15:57:23 -04:00
Update error handlers to include appropriate headers.
This commit is contained in:
@@ -3,7 +3,7 @@ import re
|
|||||||
import ast
|
import ast
|
||||||
|
|
||||||
import dateutil
|
import dateutil
|
||||||
from flask import Flask, session, Markup, escape, render_template
|
from flask import (Flask, session, Markup, escape, render_template, make_response)
|
||||||
from flask._compat import string_types
|
from flask._compat import string_types
|
||||||
from flask.ext.sqlalchemy import SQLAlchemy
|
from flask.ext.sqlalchemy import SQLAlchemy
|
||||||
from flask_login import LoginManager
|
from flask_login import LoginManager
|
||||||
@@ -160,7 +160,7 @@ def useful_headers_after_request(response):
|
|||||||
if 'Cache-Control' in response.headers:
|
if 'Cache-Control' in response.headers:
|
||||||
del response.headers['Cache-Control']
|
del response.headers['Cache-Control']
|
||||||
response.headers.add(
|
response.headers.add(
|
||||||
'Cache-Control', 'no-store, max-age=43200, no-cache, private, must-revalidate')
|
'Cache-Control', 'no-store, no-cache, private, must-revalidate')
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
@@ -168,16 +168,19 @@ def register_errorhandlers(application):
|
|||||||
def render_error(error):
|
def render_error(error):
|
||||||
# If a HTTPException, pull the `code` attribute; default to 500
|
# If a HTTPException, pull the `code` attribute; default to 500
|
||||||
error_code = getattr(error, 'code', 500)
|
error_code = getattr(error, 'code', 500)
|
||||||
return render_template("error/{0}.html".format(error_code)), error_code
|
resp = make_response(render_template("error/{0}.html".format(error_code)), error_code)
|
||||||
|
return useful_headers_after_request(resp)
|
||||||
for errcode in [401, 404, 500]:
|
for errcode in [401, 404, 500]:
|
||||||
application.errorhandler(errcode)(render_error)
|
application.errorhandler(errcode)(render_error)
|
||||||
|
|
||||||
|
|
||||||
def get_app_version():
|
def get_app_version():
|
||||||
_version_re = re.compile(r'__version__\s+=\s+(.*)')
|
build = 'n/a'
|
||||||
version = 'n/a'
|
build_time = "n/a"
|
||||||
dir_path = os.path.dirname(os.path.abspath(__file__))
|
try:
|
||||||
with open(os.path.join(dir_path, 'version.py'), 'rb') as f:
|
from app import version
|
||||||
version = str(ast.literal_eval(_version_re.search(
|
build = version.__build__
|
||||||
f.read().decode('utf-8')).group(1)))
|
build_time = version.__time__
|
||||||
return version
|
except:
|
||||||
|
pass
|
||||||
|
return build, build_time
|
||||||
|
|||||||
Reference in New Issue
Block a user