§
    Àië  ã                   ó’   — d Z ddlmZ ddlmZmZmZ ddlmZ  G d„ d ee¦  «        ¦  «        Z	 G d„ d ee¦  «        ¦  «        Z
d	S )
z!linebot.async_http_client module.é    )Úunicode_literals)ÚABCMetaÚabstractmethodÚabstractproperty)Úwith_metaclassc                   ó€   — e Zd ZdZdZefd„Zed	d„¦   «         Zed	d„¦   «         Zed	d„¦   «         Z	ed	d„¦   «         Z
dS )
ÚAsyncHttpClientz$Abstract Base Classes of HttpClient.é   c                 ó   — || _         dS )aŒ  __init__ method.

        :param timeout: (optional) How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is :py:attr:`DEFAULT_TIMEOUT`
        :type timeout: float | tuple(float, float)
        :rtype: T <= :py:class:`HttpResponse`
        :return: HttpResponse instance
        N)Útimeout)Úselfr   s     ú^/home/mmwave/public_html/mmwave/venv/lib/python3.11/site-packages/linebot/async_http_client.pyÚ__init__zAsyncHttpClient.__init__   s   € ð ˆŒˆˆó    Nc              ƒ   ó   K  — t           ‚)a!  GET request.

        :param str url: Request url
        :param dict headers: (optional) Request headers
        :param dict params: (optional) Request query parameter
        :param timeout: (optional), How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is :py:attr:`self.timeout`
        :type timeout: float | tuple(float, float)
        :rtype: T <= :py:class:`HttpResponse`
        :return: HttpResponse instance
        ©ÚNotImplementedError)r   ÚurlÚheadersÚparamsr   s        r   ÚgetzAsyncHttpClient.get*   ó   è è € õ "Ð!r   c              ƒ   ó   K  — t           ‚)a>  POST request.

        :param str url: Request url
        :param dict headers: (optional) Request headers
        :param data: (optional) Dictionary, bytes, or file-like object to send in the body
        :param timeout: (optional), How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is :py:attr:`self.timeout`
        :type timeout: float | tuple(float, float)
        :rtype: T <= :py:class:`HttpResponse`
        :return: HttpResponse instance
        r   ©r   r   r   Údatar   s        r   ÚpostzAsyncHttpClient.post;   r   r   c              ƒ   ó   K  — t           ‚)a@  DELETE request.

        :param str url: Request url
        :param dict headers: (optional) Request headers
        :param data: (optional) Dictionary, bytes, or file-like object to send in the body
        :param timeout: (optional), How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is :py:attr:`self.timeout`
        :type timeout: float | tuple(float, float)
        :rtype: T <= :py:class:`HttpResponse`
        :return: HttpResponse instance
        r   r   s        r   ÚdeletezAsyncHttpClient.deleteL   r   r   c              ƒ   ó   K  — t           ‚)aB  PUT request.

        :param str url: Request url
        :param dict headers: (optional) Request headers
        :param data: (optional) Dictionary, bytes, or file-like object to send in the body
        :param timeout: (optional), How long to wait for the server
            to send data before giving up, as a float,
            or a (connect timeout, read timeout) float tuple.
            Default is :py:attr:`self.timeout`
        :type timeout: float | tuple(float, float)
        :rtype: :py:class:`AsyncHttpResponse`
        :return: AsyncHttpResponse instance
        r   r   s        r   ÚputzAsyncHttpClient.put]   r   r   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚDEFAULT_TIMEOUTr   r   r   r   r   r    © r   r   r	   r	      s¶   € € € € € Ø.Ð.à€Oà.ð ð ð ð ð ð"ð "ð "ñ „^ð"ð  ð"ð "ð "ñ „^ð"ð  ð"ð "ð "ñ „^ð"ð  ð"ð "ð "ñ „^ð"ð "ð "r   r	   c                   ó˜   — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	e
d
d„¦   «         Zd	S )ÚAsyncHttpResponsezHttpResponse.c                 ó   — t           ‚)zGet status code.r   ©r   s    r   Ústatus_codezAsyncHttpResponse.status_coder   ó
   € õ "Ð!r   c                 ó   — t           ‚)zGet headers.r   r*   s    r   r   zAsyncHttpResponse.headersw   r,   r   c              ƒ   ó   K  — t           ‚)z"Get response body as text-decoded.r   r*   s    r   ÚtextzAsyncHttpResponse.text|   ó   è è € õ "Ð!r   c              ƒ   ó   K  — t           ‚)zGet response body as binary.r   r*   s    r   ÚcontentzAsyncHttpResponse.content�   r0   r   c                 ó   — t           ‚)z"Get response body as json-decoded.r   r*   s    r   ÚjsonzAsyncHttpResponse.json†   r,   r   é   c                 ó   — t           ‚)zXGet response body as iterator content (stream).

        :param int chunk_size:
        r   )r   Ú
chunk_sizes     r   Úiter_contentzAsyncHttpResponse.iter_content‹   s
   € õ "Ð!r   N)r5   )r!   r"   r#   r$   r   r+   r   r/   r2   r4   r   r8   r&   r   r   r(   r(   o   sÄ   € € € € € ØÐàð"ð "ñ Ôð"ð ð"ð "ñ Ôð"ð ð"ð "ñ Ôð"ð ð"ð "ñ Ôð"ð ð"ð "ñ Ôð"ð ð"ð "ð "ñ „^ð"ð "ð "r   r(   N)r$   Ú
__future__r   Úabcr   r   r   Úfuture.utilsr   r	   r(   r&   r   r   ú<module>r<      sÊ   ðð (Ð 'à 'Ð 'Ð 'Ð 'Ð 'Ð 'à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9à 'Ð 'Ð 'Ð 'Ð 'Ð 'ðT"ð T"ð T"ð T"ð T"�n�n WÑ-Ô-ñ T"ô T"ð T"ðn""ð ""ð ""ð ""ð ""˜˜ wÑ/Ô/ñ ""ô ""ð ""ð ""ð ""r   