
    i                     |    d dl mZmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZmZmZ  G d d          ZdS )	    )DictOptionalUnionAnySequence)AsyncBoltContext)	BoltError)build_async_context)parse_query
parse_bodybuild_normalized_headersextract_content_type,error_message_raw_body_required_in_http_modec                      e Zd ZU eed<   eeef         ed<   eeee         f         ed<   eeee         f         ed<   ee         ed<   e	ed<   e
ed<   ee         ed<   eed	<   d
d
d
dddeeef         deeeeeef         eeee         f         f                  deeeeeee         f         f                  deeeef                  d	ef
dZddZd
S )AsyncBoltRequestraw_bodybodyqueryheaderscontent_typecontext	lazy_onlylazy_function_namemodeNhttp)r   r   r   r   c                (   |dk    r>|0t          |t                    st          t                                ||nd| _        n&|t          |t                    r|| _        nd| _        t          |          | _        t          |          | _        t          | j                  | _
        t          |t                    r t          | j        | j
                  | _        n$t          |t                    r|| _        ni | _        t          t          |r|ni           | j                  | _        t#          | j                            ddg          d                   | _        | j                            ddg          d         | _        || _        dS )ap  Request to a Bolt app.

        Args:
            body: The raw request body (only plain text is supported for "http" mode)
            query: The query string data in any data format.
            headers: The request headers.
            context: The context in this request.
            mode: The mode used for this request. (either "http" or "socket_mode")
        r   N zx-slack-bolt-lazy-onlyFr   zx-slack-bolt-lazy-function-name)
isinstancestrr	   r   r   r   r   r   r   r   r   r   r   dictr
   r   r   boolgetr   r   r   )selfr   r   r   r   r   s         [/root/projects/butler/venv/lib/python3.11/site-packages/slack_bolt/request/async_request.py__init__zAsyncBoltRequest.__init__   sp   & 6>>
4(=(= L N NOOO$($4DD"DMM JtS$9$9 $ !# ''
/880>>dC   	"4=$2CDDDIId## 	DIIDI*+;w<VGGTV+W+WY]Ybccdl../G%QQRSTUU"&,"2"23TW[V\"]"]^_"`			    returnc                     | j         dk    r| j        n| j        }t          || j        | j        | j                                        | j                   S )Nr   )r   r   r   r   r   )r   r   r   r   r   r   r   to_copyable)r#   r   s     r$   r)   zAsyncBoltRequest.to_copyableK   sU    26)v2E2E49*LL,,..
 
 
 	
r&   )r'   r   )__name__
__module____qualname__r   __annotations__r   r   r   r   r   r!   r   r    r%   r)    r&   r$   r   r      st        MMM
sCx.Xc]"#####x}$%%%%3-OOO %%%
III QUBF,0/ / / CI/ c4S>4Xc]8J3KKLM	/
 $sE#x}*<$==>?/ $sCx.)/ / / / /b
 
 
 
 
 
r&   r   N)typingr   r   r   r   r    slack_bolt.context.async_contextr   slack_bolt.errorr	   "slack_bolt.request.async_internalsr
   slack_bolt.request.internalsr   r   r   r   r   r   r.   r&   r$   <module>r4      s    7 7 7 7 7 7 7 7 7 7 7 7 7 7 = = = = = = & & & & & & B B B B B B             D
 D
 D
 D
 D
 D
 D
 D
 D
 D
r&   