o
    װi                     @  sX   d dl mZ d dlmZmZ d dlmZ ddlmZ ddl	m
Z
mZ edfdddZdS )    )annotations)hdrsweb)Handler   )_bake_output)	CollectorREGISTRYFregistryr   disable_compressionboolreturnr   c                   s   d fdd}|S )	zBCreate a aiohttp handler which serves the metrics from a registry.requestweb.Requestr   web.Responsec                   sz    fdd j  D }d jtjg }d}t|||dd\}}}tj	t
|dd ||d	}s;|  |S )
Nc                   s   i | ]	}| j |qS  )querygetall).0keyr   r   X/home/ubuntu/.local/lib/python3.10/site-packages/prometheus_client/aiohttp/exposition.py
<dictcomp>   s    zDmake_aiohttp_handler.<locals>.prometheus_handler.<locals>.<dictcomp>, T)r    r   )statusheadersbody)r   keysjoinr   r   r   ACCEPTr   r   Responseintsplitenable_compression)r   paramsaccept_headeraccept_encoding_headerr   r   outputresponser   r
   r   r   prometheus_handler   s&   z0make_aiohttp_handler.<locals>.prometheus_handlerN)r   r   r   r   r   )r
   r   r,   r   r+   r   make_aiohttp_handler
   s   r-   N)r
   r   r   r   r   r   )
__future__r   aiohttpr   r   aiohttp.typedefsr   
expositionr   r
   r   r	   r-   r   r   r   r   <module>   s    