Files
aodh/ceilometer/openstack/common/middleware/request_id.py
Julien Danjou 7bb11bc760 Update oslo
This updates Oslo to the latest commit
997ab2776c9cad033234e28a92fb7bc0ef5bc4c0

It removes the test_service test file, as the behavior of restarting on
SIGHUP is dependent of openstack.common.service which has changed
recently, is already tested as part of oslo.incubator's tests.

Change-Id: I389c690f4febe9c69c1e2c39cd16961635469c75
2014-01-16 15:00:50 +01:00

39 lines
1.3 KiB
Python

# Copyright (c) 2013 NEC Corporation
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Middleware that ensures request ID.
It ensures to assign request ID for each API request and set it to
request environment. The request ID is also added to API response.
"""
from ceilometer.openstack.common import context
from ceilometer.openstack.common.middleware import base
ENV_REQUEST_ID = 'openstack.request_id'
HTTP_RESP_HEADER_REQUEST_ID = 'x-openstack-request-id'
class RequestIdMiddleware(base.Middleware):
def process_request(self, req):
self.req_id = context.generate_request_id()
req.environ[ENV_REQUEST_ID] = self.req_id
def process_response(self, response):
response.headers.add(HTTP_RESP_HEADER_REQUEST_ID, self.req_id)
return response