o
    iD                     @  s6   d Z ddlmZ ddlZddlmZmZ dddZdS )z5Attach request-scoped SaaS metadata onto ``flask.g``.    )annotationsN)Requestgrequestr   tenant_datadict[str, str]returndict[str, object]c              	   C  s   |t _| jdp
d pdt _| jdpd pdt _| jdp$d p,tt	 t _
|d }i }t| drOz
| jdd	pAi }W n tyN   i }Y nw t j
t j|d
 d| d| t jt j|dS )z=Populate ``flask.g`` and return a normalized request context.zX-App-ID Nz	X-User-IDzX-Request-ID	tenant_idget_jsonT)silentdb_namezstorage/tenants/zlogs/tenants/)
request_idtenantdbstoragelogsapp_iduser_idpayload)r   r   headersgetstripr   r   struuiduuid4r   hasattrr   	Exception)r   r   r   r    r   #platform/routing/request_context.pybuild_request_context
   s*   "
r!   )r   r   r   r   r   r	   )__doc__
__future__r   r   flaskr   r   r!   r   r   r   r    <module>   s
    