messy brotli experiment
This commit is contained in:
parent
8a1b9c05de
commit
a42c54aa50
|
@ -3,3 +3,4 @@ from .interval import decompose_interval
|
|||
from .interval import SCALES as interval_scales
|
||||
from .cachebust import cachebust
|
||||
from .session import set_session_cookie, get_viewer_session, get_viewer
|
||||
from . import brotli
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
import brotli
|
||||
|
||||
def compress_response(response):
|
||||
if response.is_streamed:
|
||||
return response
|
||||
mode = brotli.MODE_GENERIC
|
||||
if response.headers.get('content-type', '').startswith('text/'):
|
||||
mode = brotli.MODE_TEXT
|
||||
response.set_data(brotli.compress(response.get_data(), mode=mode))
|
||||
response.headers.set('content-encoding', 'br')
|
||||
response.headers.set('vary', 'content-encoding')
|
||||
return response
|
|
@ -2,6 +2,7 @@ alembic==0.9.5
|
|||
amqp==2.2.1
|
||||
billiard==3.5.0.3
|
||||
blinker==1.4
|
||||
Brotli==0.6.0
|
||||
celery==4.1.0
|
||||
click==6.7
|
||||
cloudpickle==0.4.0
|
||||
|
|
|
@ -12,6 +12,7 @@ from zipfile import BadZipFile
|
|||
from twitter import TwitterError
|
||||
from urllib.error import URLError
|
||||
import version
|
||||
import lib.brotli
|
||||
|
||||
@app.before_request
|
||||
def load_viewer():
|
||||
|
@ -35,6 +36,8 @@ def touch_viewer(resp):
|
|||
db.session.commit()
|
||||
return resp
|
||||
|
||||
app.after_request(lib.brotli.compress_response)
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
if g.viewer:
|
||||
|
|
Loading…
Reference in New Issue