INNER CODE UNIT · Python
_request_label_values
stephenhillier/starlette_exporter · starlette_exporter/middleware.py:317
async def _request_label_values(self, request: Request) -> List[str]:
values: List[str] = []
for k, v in self.request_labels.items():
if callable(v):
parsed_value = ""
# if provided a callable, try to use it on the request.
try:
result = v(request)
if iscoroutine(result):
result = await result
except Exception:
logger.warn(f"label function for {k} failed", exc_info=True)
else:
parsed_value = str(result)
values.append(parsed_value)
continue