Source code for harp_apps.proxy.helpers

from harp.http import HttpRequest
from harp_apps.proxy.constants import CHECKING, DOWN, UP


[docs] def humanize_status(status): return {CHECKING: "checking", UP: "up", DOWN: "down"}.get(status, "unknown")
[docs] def extract_tags_from_request(request: HttpRequest): """ Convert special request headers (x-harp-*) into tags (key-value pairs) that we'll attach to the transaction. Headers are "consumed", meaning they are removed from the request headers. """ tags = {} headers_to_remove = [] for header in request.headers: lower_header = header.lower() if lower_header.startswith("x-harp-"): tags[lower_header[7:]] = request.headers[header] headers_to_remove.append(header) for header in headers_to_remove: request.headers.pop(header) return tags