<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
U
    \R                     @   sT   d dl Z d dlmZmZ d dlmZ d dlmZ G dd deZdd Zd	d
 ZdS )    N)Hub_should_send_default_pii)AnnotatedValue)	text_typec                   @   sl   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd ZdS )RequestExtractorc                 C   s
   || _ d S N)request)selfr    r
   U/opt/alt/python38/lib/python3.8/site-packages/sentry_sdk/integrations/_wsgi_common.py__init__   s    zRequestExtractor.__init__c                 C   s   t jj}|d krd S d }|  }|di }t rBt|  |d< |jd }|dkst|dkrd|dkst|dkr|dkrt	d	d
dd|gg|d}n>| 
 }|d k	r|}n(|  rt	d	ddd|gg|d}nd S ||d< d S )Nr   cookiesZrequest_bodiesneverZsmalli  Zmediumi'   z!configxr   )remlen!rawdata)r   currentclientcontent_length
setdefaultr   dictr   optionsr   parsed_bodyraw_data)r	   eventr   r   r   Zrequest_infoZbodiesr   r
   r
   r   extract_into_event   sB    
z#RequestExtractor.extract_into_eventc                 C   s2   zt |  ddW S  tk
r,   Y dS X d S )NZCONTENT_LENGTHr   )intenvget
ValueErrorr	   r
   r
   r   r   9   s    zRequestExtractor.content_lengthc                 C   s
   t  d S r   NotImplementedErrorr#   r
   r
   r   r   @   s    zRequestExtractor.cookiesc                 C   s
   t  d S r   r$   r#   r
   r
   r   r   C   s    zRequestExtractor.raw_datac                 C   s
   t  d S r   r$   r#   r
   r
   r   formF   s    zRequestExtractor.formc                 C   sj   |   }|  }|s|rbt| }| D ]0\}}| |}td|ddd|ggd||< q,|S |  S )Nr   r   r   r   )r   r   )r&   filesr   itemssize_of_filer   json)r	   r&   r'   r   kvsizer
   r
   r   r   I   s    
 
zRequestExtractor.parsed_bodyc                 C   s   t |  dS )NZCONTENT_TYPE)_is_json_content_typer    r!   r#   r
   r
   r   is_jsonY   s    zRequestExtractor.is_jsonc                 C   sN   z4|   r2|  }t|ts&|d}t|W S W n tk
rH   Y nX d S )Nzutf-8)r/   r   
isinstancer   decoder*   loadsr"   )r	   r   r
   r
   r   r*   ]   s    

zRequestExtractor.jsonc                 C   s
   t  d S r   r$   r#   r
   r
   r   r'   j   s    zRequestExtractor.filesc                 C   s
   t  d S r   r$   )r	   filer
   r
   r   r)   m   s    zRequestExtractor.size_of_filec                 C   s
   t  d S r   r$   r#   r
   r
   r   r    p   s    zRequestExtractor.envN)__name__
__module____qualname__r   r   r   r   r   r&   r   r/   r*   r'   r)   r    r
   r
   r
   r   r      s   &r   c                 C   s0   | pd ddd }|dkp.|do.|dS )Nr   ;   r   zapplication/jsonzapplication/z+json)split
startswithendswith)Zctmtr
   r
   r   r.   t   s
    
r.   c                 C   s   t  r
| S dd |  D S )Nc                 S   s*   i | ]"\}}|  d ddkr||qS )_-)z
set-cookieZcookieZauthorization)lowerreplace).0r+   r,   r
   r
   r   
<dictcomp>   s    z#_filter_headers.<locals>.<dictcomp>)r   r(   )headersr
   r
   r   _filter_headers~   s
    rD   )r*   Zsentry_sdk.hubr   r   Zsentry_sdk.utilsr   Zsentry_sdk._compatr   ZAnyDictOptionalUnionobjectr   r.   rD   r
   r
   r
   r   <module>   s   	f
