
     ^$j                        d dl mZmZmZ d dlmZ d dlZd dlZdZ ed          Z	e	
                    d          d             Ze	
                    d	          d
efd            Ze	
                    d          defd            Ze	                    dg d          defd            Ze	                    d          defd            Ze	                    d          defd            ZdS )    )FastAPIRequestHTTPException)FileResponseNz#http://127.0.0.1:3007/ingest_signedz!Health Bridge public ingest proxy)titlez/healthc                     K   ddiS )Nstatusok r       1/home/ubuntu/health-bridge/ingest_public_proxy.pyhealthr   	   s      T?r   z/fba/{filename}filenamec                    K   d|  }t           j                            |          st          dd          t	          |d|           S )N#/home/ubuntu/baby-checklist/public/  	not foundstatus_codedetailapplication/octet-stream)
media_typer   )ospathexistsr   r   )r   fba_paths     r   	serve_fbar      sT      ?X??H7>>(## AK@@@@-GRZ[[[[r   z/static/{filepath:path}filepathc                    K   d|  }t           j                            |          st          dd          dd l}|                    |          \  }}t          ||pd          S )Nr   r   r   r   r   r   )r   )r   r   r   r   	mimetypes
guess_typer   )r   fullr    mime_s        r   serve_staticr%      sy      ;;;D7>>$ AK@@@@""4((GD!)K1KLLLLr   z/{path:path})GETPUTPATCHDELETEOPTIONSHEAD)methodsr   c                 (   K   t          dd          )Nr   r   r   )r   )r   s    r   denyr.      s      
C
<
<
<<r   z/ingest_signedrequestc                 l  K   |                                   d {V }d | j                                        D             }t          j        d          4 d {V }|                    t          ||           d {V }d d d           d {V  n# 1 d {V swxY w Y   |                                S )Nc                 F    i | ]\  }}|                                 d v ||S )>   
x-hb-noncex-hb-devicecontent-typex-hb-signaturex-hb-timestamp)lower).0kvs      r   
<dictcomp>z!ingest_signed.<locals>.<dictcomp>$   s<       A7799iii 	
1iiir   g      4@)timeout)contentheaders)bodyr>   itemshttpxAsyncClientpostUPSTREAMjson)r/   r?   r>   clientresps        r   ingest_signedrH   !   sl     D  ..00  G  ... J J J J J J J&[[4[IIIIIIIIJ J J J J J J J J J J J J J J J J J J J J J J J J J J99;;s   $B
BB/c                 0   K   t          |            d {V S )N)rH   )r/   s    r   ingest_root_fallbackrK   /   s&      w'''''''''r   )fastapir   r   r   fastapi.responsesr   rA   r   rD   appgetr   strr   r%   	api_router.   rC   rH   rK   r   r   r   <module>rR      s   3 3 3 3 3 3 3 3 3 3 * * * * * *  				0g7888   	\c \ \ \ \ 	"##M M M M $#M ~'V'V'VWW=S = = = XW= 
     #( ( ( ( ( ( (r   