| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- import re
 - from collections.abc import Mapping
 - from typing import Any, Optional
 - 
 - 
 - def is_valid_trace_id(trace_id: str) -> bool:
 -     """
 -     Check if the trace_id is valid.
 - 
 -     Requirements: 1-128 characters, only letters, numbers, '-', and '_'.
 -     """
 -     return bool(re.match(r"^[a-zA-Z0-9\-_]{1,128}$", trace_id))
 - 
 - 
 - def get_external_trace_id(request: Any) -> Optional[str]:
 -     """
 -     Retrieve the trace_id from the request.
 - 
 -     Priority: header ('X-Trace-Id'), then parameters, then JSON body. Returns None if not provided or invalid.
 -     """
 -     trace_id = request.headers.get("X-Trace-Id")
 -     if not trace_id:
 -         trace_id = request.args.get("trace_id")
 -     if not trace_id and getattr(request, "is_json", False):
 -         json_data = getattr(request, "json", None)
 -         if json_data:
 -             trace_id = json_data.get("trace_id")
 -     if isinstance(trace_id, str) and is_valid_trace_id(trace_id):
 -         return trace_id
 -     return None
 - 
 - 
 - def extract_external_trace_id_from_args(args: Mapping[str, Any]) -> dict:
 -     """
 -     Extract 'external_trace_id' from args.
 - 
 -     Returns a dict suitable for use in extras. Returns an empty dict if not found.
 -     """
 -     trace_id = args.get("external_trace_id")
 -     if trace_id:
 -         return {"external_trace_id": trace_id}
 -     return {}
 
 
  |