
    kj                     x    d dl Z d dlmZ d dlmZ d dlmZ d Zdee   fdZd Z	d	 Z
 G d
 de      Z e       Zy)    N)Any)Contentview)Metadatac                     | d   }| j                         }d|d<   dj                  t        j                  |d      |      S )Nqueryz...z{header}
---
{query}
   )indent)headerr   )copyformatjsondumps)datar   header_datas      m/home/ubuntu/.cache/pipx/cdb5059130eadca/lib/python3.12/site-packages/mitmproxy/contentviews/_view_graphql.pyformat_graphqlr      sF    ME))+K K F$**[35FAB    r   c                     t        |       dz
  }d}t        |       D ]  \  }}|d| d| dz  }|t        |      z  }! |S )N    z--- /
)len	enumerater   )r   num_queriesresultiops        r   format_query_listr      sZ    d)a-KF4 %2D1[M,,.$$% Mr   c                 @    t        | t              xr d| v xr d| d   v S )Nr   r   )
isinstancedictr   s    r   is_graphql_queryr$      s&    dD!OgoO$$w-:OOr   c                 ~    t        | t              xr, t        |       dkD  xr t        | d   t              xr d| d   v S )Nr   r   )r!   listr   r"   r#   s    r   is_graphql_batch_queryr'      sG    4 	IM	tAw%	 tAw	r   c                   4    e Zd ZdededefdZdededefdZy)GraphQLContentviewr   metadatareturnc                     t        j                  |      }t        |      rt        |      S t	        |      rt        |      S t        d      )NzNot a GraphQL message.)r   loadsr$   r   r'   r   
ValueError)selfr   r*   gqls       r   prettifyzGraphQLContentview.prettify)   sD    
 jjC !#&&#C($S))566r   c                     |j                   dk7  s|sy	 t        j                  |      }t        |      st	        |      ry	 y# t
        $ r Y yw xY w)Nzapplication/jsonr   r   )content_typer   r-   r$   r'   r.   )r/   r   r*   s      r   render_priorityz"GraphQLContentview.render_priority6   s`    
   $66d	::d#D%)?)E *F
   		s   +A 	AAN)	__name__
__module____qualname__bytesr   strr1   floatr4    r   r   r)   r)   (   sD    77 7 
	7  
	r   r)   )r   typingr   mitmproxy.contentviews._apir   r   r   r&   r   r$   r'   r)   graphqlr;   r   r   <module>r?      sI      3 0BDI P @ 
r   