Files
Alistair Coles 8d9cfa9880 proxy app: assign timestamp in a single place
Previously, requests would be assigned an x-timestamp header (if they
do not already have one*) by various means in the proxy account,
controller and object controllers. With this patch, all requests are
assigned an x-timestamp header at one place early in the proxy server
Application (i.e. the update_request method).

BaseController.generate_request_headers now copies an x-timestamp from
the original request, rather than setting x-timestamp.

Note: a request may already have been assigned an x-timestamp in
middleware (e.g. SLO, object versioning). Previously, the proxy
Application would only set an x-timestamp header if none existed (in
BaseController.generate_request_headers), *except* for container PUT,
UPDATE and DELETE requests which would have an existing x-timestamp
header replaced (in ContainerController._backend_requests).

With this patch the proxy Application never overwrites an existing
x-timestamp header.

Drive-by: The BaseController.generate_request_headers orig_req
argument is no longer optional. All existing call sites pass an
orig_req value.

Change-Id: Ic32d32f27157d1ba47e169ff1a22bce6f5a89395
Signed-off-by: Alistair Coles <alistairncoles@gmail.com>
2026-01-29 14:55:28 +11:00
..
2010-07-12 17:03:45 -05:00
2025-01-13 13:36:41 -08:00