当前位置: 首页>>代码示例>>Python>>正文


Python g.request_start_time方法代码示例

本文整理汇总了Python中flask.g.request_start_time方法的典型用法代码示例。如果您正苦于以下问题:Python g.request_start_time方法的具体用法?Python g.request_start_time怎么用?Python g.request_start_time使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在flask.g的用法示例。


在下文中一共展示了g.request_start_time方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: before_request

# 需要导入模块: from flask import g [as 别名]
# 或者: from flask.g import request_start_time [as 别名]
def before_request():
    g.request_start_time = time.time() 
开发者ID:Sanster,项目名称:DeepOcrService,代码行数:4,代码来源:app.py

示例2: after_request

# 需要导入模块: from flask import g [as 别名]
# 或者: from flask.g import request_start_time [as 别名]
def after_request(r):
    r.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
    r.headers["Pragma"] = "no-cache"
    r.headers["Expires"] = "0"
    r.headers['Cache-Control'] = 'public, max-age=0'
    print("request time: {:.03f}s".format(time.time() - g.request_start_time))
    return r 
开发者ID:Sanster,项目名称:DeepOcrService,代码行数:9,代码来源:app.py

示例3: decompress

# 需要导入模块: from flask import g [as 别名]
# 或者: from flask.g import request_start_time [as 别名]
def decompress():
    g.request_start_time = time.time()
    g.request_time = lambda: "%.5fs" % (time.time() - g.request_start_time)
    g.sid = str(uuid.uuid4())

    if '/u/' in request.path:
        return

    if request.headers.get('Content-Encoding') and request.headers['Content-Encoding'] == 'deflate':
        logger.debug('decompressing request: %d' % len(request.data))
        request.data = zlib.decompress(request.data)
        logger.debug('content-length: %d' % len(request.data)) 
开发者ID:csirtgadgets,项目名称:bearded-avenger,代码行数:14,代码来源:__init__.py

示例4: stuff_before_request

# 需要导入模块: from flask import g [as 别名]
# 或者: from flask.g import request_start_time [as 别名]
def stuff_before_request():
    if request.endpoint in ["get_doi_endpoint_v2", "get_doi_endpoint"]:
        email = request.args.get("email", None)
        if not email or email.endswith(u"example.com"):
            abort_json(422, "Email address required in API call, see http://unpaywall.org/products/api")

    if get_ip() in ["35.200.160.130", "45.249.247.101", "137.120.7.33",
                    "52.56.108.147", "193.137.134.252", "130.225.74.231"]:
        abort_json(429, "History of API use exceeding rate limits, please email support@unpaywall.org for other data access options, including free full database dump.")

    g.request_start_time = time()
    g.hybrid = 'hybrid' in request.args.keys()
    if g.hybrid:
        logger.info(u"GOT HYBRID PARAM so will run with hybrid.")

    # don't redirect http api in some cases
    if request.url.startswith("http://api."):
        return
    if "staging" in request.url or "localhost" in request.url:
        return

    # redirect everything else to https.
    new_url = None
    try:
        if request.headers["X-Forwarded-Proto"] == "https":
            pass
        elif "http://" in request.url:
            new_url = request.url.replace("http://", "https://")
    except KeyError:
        # logger.info(u"There's no X-Forwarded-Proto header; assuming localhost, serving http.")
        pass

    # redirect to naked domain from www
    if request.url.startswith("https://www.oadoi.org"):
        new_url = request.url.replace(
            "https://www.oadoi.org",
            "https://oadoi.org"
        )
        logger.info(u"URL starts with www; redirecting to " + new_url)

    if new_url:
        return redirect(new_url, 301)  # permanent



# convenience function because we do this in multiple places 
开发者ID:ourresearch,项目名称:oadoi,代码行数:48,代码来源:views.py

示例5: configure_hook

# 需要导入模块: from flask import g [as 别名]
# 或者: from flask.g import request_start_time [as 别名]
def configure_hook(app):
    """

    :param app:
    :return:
    """
    from flask import jsonify
    from werkzeug.exceptions import HTTPException

    @app.errorhandler(Exception)
    def handle_error(e):
        code = 500
        if isinstance(e, HTTPException):
            code = e.code

        app.logger.exception(e)
        return jsonify(error=str(e)), code

    @app.before_request
    def before_request():
        g.request_start_time = time.time()

    @app.after_request
    def after_request(response):
        # Return early if we don't have the start time
        if not hasattr(g, "request_start_time"):
            return response

        # Get elapsed time in milliseconds
        elapsed = time.time() - g.request_start_time
        elapsed = int(round(1000 * elapsed))

        # Collect request/response tags
        tags = {
            "endpoint": request.endpoint,
            "request_method": request.method.lower(),
            "status_code": response.status_code,
        }

        # Record our response time metric
        metrics.send("response_time", "TIMER", elapsed, metric_tags=tags)
        metrics.send("status_code_{}".format(response.status_code), "counter", 1)
        return response 
开发者ID:Netflix,项目名称:lemur,代码行数:45,代码来源:__init__.py

示例6: configure_hook

# 需要导入模块: from flask import g [as 别名]
# 或者: from flask.g import request_start_time [as 别名]
def configure_hook(app):
    """

    :param app:
    :return:
    """
    from flask import jsonify
    from werkzeug.exceptions import HTTPException

    @app.errorhandler(Exception)
    def handle_error(e):
        code = 500
        if isinstance(e, HTTPException):
            code = e.code

        app.logger.exception(e)
        return jsonify(error=str(e)), code

    @app.before_request
    def before_request():
        g.request_start_time = time.time()

    @app.after_request
    def after_request(response):
        # Return early if we don't have the start time
        if not hasattr(g, "request_start_time"):
            return response

        # Get elapsed time in milliseconds
        elapsed = time.time() - g.request_start_time
        elapsed = int(round(1000 * elapsed))

        # Collect request/response tags
        # tags = {
        #    'endpoint': request.endpoint,
        #    'request_method': request.method.lower(),
        #    'status_code': response.status_code
        # }

        # Record our response time metric
        app.logger.debug(
            f"Request Info: Elapsed: {elapsed} Status Code: {response.status_code} Endpoint: {request.endpoint} Method: {request.method}"
        )
        return response 
开发者ID:Netflix-Skunkworks,项目名称:diffy,代码行数:46,代码来源:__init__.py


注:本文中的flask.g.request_start_time方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。