PHP 8.2.30
Preview: asgi.py Size: 1.16 KB
/proc/thread-self/root/opt/cloudlinux/venv/lib64/python3.11/site-packages/prometheus_client/asgi.py

from urllib.parse import parse_qs

from .exposition import _bake_output
from .registry import REGISTRY


def make_asgi_app(registry=REGISTRY):
    """Create a ASGI app which serves the metrics from a registry."""

    async def prometheus_app(scope, receive, send):
        assert scope.get("type") == "http"
        # Prepare parameters
        params = parse_qs(scope.get('query_string', b''))
        accept_header = "Accept: " + ",".join([
            value.decode("utf8") for (name, value) in scope.get('headers')
            if name.decode("utf8") == 'accept'
        ])
        # Bake output
        status, header, output = _bake_output(registry, accept_header, params)
        # Return output
        payload = await receive()
        if payload.get("type") == "http.request":
            await send(
                {
                    "type": "http.response.start",
                    "status": int(status.split(' ')[0]),
                    "headers": [
                        tuple(x.encode('utf8') for x in header)
                    ]
                }
            )
            await send({"type": "http.response.body", "body": output})

    return prometheus_app

Directory Contents

Dirs: 4 × Files: 18

Name Size Perms Modified Actions
bridge DIR
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
twisted DIR
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
1.16 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.65 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
895 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
15.43 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
14.92 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.42 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
21.66 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
11.60 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
5.14 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
6.32 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
7.09 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.69 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.57 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
5.23 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.33 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
621 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.75 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.77 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).