from http.server import BaseHTTPRequestHandler, HTTPServer from opentelemetry import baggage from opentelemetry.baggage.propagation import W3CBaggagePropagator class Handler(BaseHTTPRequestHandler): def do_GET(self): carrier = {"baggage": self.headers.get("baggage", "")} context = W3CBaggagePropagator().extract(carrier) tenant = baggage.get_baggage("tenant", context=context) or "missing" body = f"downstream baggage tenant={tenant}\n".encode() self.send_response(200) self.send_header("Content-Type", "text/plain") self.send_header("Content-Length", str(len(body))) self.end_headers() self.wfile.write(body) def log_message(self, format, *args): return HTTPServer(("127.0.0.1", 8080), Handler).serve_forever()