X Tutup
from flask import request, g from .cube import Cube from .util import strip_port def cube(app, api_key, **kwargs): c = Cube(api_key, **kwargs) @app.before_request def before_request(): g._r = c.start({ 'id': request.headers.get('X-Request-ID'), 'host': strip_port(request.host), 'path': request.path, 'method': request.method, 'bytes_in': int(request.headers.get('Content-Length') or 0), # TODO: revisit 'remote_ip': request.headers.get('X-Forwarded-For', request.remote_addr), 'client_id': request.headers.get('X-Client-ID'), 'user_agent': request.headers.get('User-Agent') }) @app.after_request def after_request(response): r = g._r r['id'] = r['id'] or response.headers.get('X-Request-ID') r['status'] = response.status_code r['bytes_out'] = int(response.headers.get('Content-Length') or 0) c.stop(r) return response
X Tutup