nova.api.compute_req_id解析(ocata版本)

ComputeReqIdMiddleware模块解析:

from oslo_context import context
from oslo_middleware import base
import webob.dec


ENV_REQUEST_ID = 'openstack.request_id'
HTTP_RESP_HEADER_REQUEST_ID = 'x-compute-request-id'


class ComputeReqIdMiddleware(base.Middleware):#继承oslo.middleware

    @webob.dec.wsgify
    def __call__(self, req):
        req_id = context.generate_request_id()#调用oslo.context模块来生成request ID
        req.environ[ENV_REQUEST_ID] = req_id #将request ID设置到请求的环境变量里
        response = req.get_response(self.application) #获取响应
        if HTTP_RESP_HEADER_REQUEST_ID not in response.headers:
            response.headers.add(HTTP_RESP_HEADER_REQUEST_ID, req_id)#将请求ID设置到响应头中
        return response

转载于:https://my.oschina.net/jennerlo/blog/3006702

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值