§
    3¾ dC  ã                   ó~   — d Z ddlZddlZddlZddlmZmZ ddlmZ ddl	m
Z
  G d„ de¦  «        Z e
de¦  «        ZdS )	z°
This module implements the JsonRequest class which is a more convenient class
(than Request) to generate JSON Requests.

See documentation in docs/topics/request-response.rst
é    N)ÚOptionalÚTuple)ÚRequest)Úcreate_deprecated_classc                   ó¦   ‡ — e Zd ZU ej        dz   Zeedf         ed<   ddœdee	         ddfˆ fd„Z
ede	fd„¦   «         Zdefˆ fd	„Zd
e	defd„Zˆ xZS )ÚJsonRequest)Údumps_kwargs.Ú
attributesNr	   Úreturnc                óð  •— |t          j        |¦  «        ni }|                     dd¦  «         || _        |                     dd ¦  «        d u}|                     dd ¦  «        }|d u}|r|rt          j        d¦  «         n%|s#|r!|                      |¦  «        |d<   d|vrd|d<    t          ¦   «         j
        |i |¤Ž | j                             dd	¦  «         | j                             d
d¦  «         d S )NÚ	sort_keysTÚbodyÚdataú/Both body and data passed. data will be ignoredÚmethodÚPOSTzContent-Typezapplication/jsonÚAcceptz.application/json, text/javascript, */*; q=0.01)ÚcopyÚdeepcopyÚ
setdefaultÚ_dumps_kwargsÚgetÚpopÚwarningsÚwarnÚ_dumpsÚsuperÚ__init__Úheaders)Úselfr	   ÚargsÚkwargsÚbody_passedr   Údata_passedÚ	__class__s          €ú@lib/python3.11/site-packages/scrapy/http/request/json_request.pyr   zJsonRequest.__init__   s-  ø€ Ø6BÐV•t”} \Ñ2Ô2Ð2ÐTVˆØ×Ò ¨TÑ2Ô2Ð2Ø)ˆÔà—j’j ¨Ñ.Ô.°dÐ:ˆØzŠz˜& $Ñ'Ô'ˆØ $Ð&ˆàð 	*˜;ð 	*ÝŒMÐKÑLÔLÐLÐLØð 	* ð 	*Ø!Ÿ[š[¨Ñ.Ô.ˆF6‰NØ˜vÐ%ð *Ø#)xÑ à‰ŒÔ˜$Ð) &Ð)Ð)Ð)ØŒ×Ò Ð0BÑCÔCÐCØŒ×ÒØÐFñ	
ô 	
ð 	
ð 	
ð 	
ó    c                 ó   — | j         S )N)r   )r    s    r&   r	   zJsonRequest.dumps_kwargs+   s   € àÔ!Ð!r'   c                 ó  •— |                      dd ¦  «        d u}|                     dd ¦  «        }|d u}|r|rt          j        d¦  «         n|s|r|                      |¦  «        |d<    t          ¦   «         j        |i |¤ŽS )Nr   r   r   )r   r   r   r   r   r   Úreplace)r    r!   r"   r#   r   r$   r%   s         €r&   r*   zJsonRequest.replace/   sš   ø€ Ø—j’j ¨Ñ.Ô.°dÐ:ˆØzŠz˜& $Ñ'Ô'ˆØ $Ð&ˆàð 	/˜;ð 	/ÝŒMÐKÑLÔLÐLÐLØð 	/ ð 	/Ø!Ÿ[š[¨Ñ.Ô.ˆF6‰Nàu‰wŒwŒ Ð/¨Ð/Ð/Ð/r'   r   c                 ó0   — t          j        |fi | j        ¤ŽS )zConvert to JSON)ÚjsonÚdumpsr   )r    r   s     r&   r   zJsonRequest._dumps;   s   € åŒz˜$Ð5Ð5 $Ô"4Ð5Ð5Ð5r'   )Ú__name__Ú
__module__Ú__qualname__r   r
   r   ÚstrÚ__annotations__r   Údictr   Úpropertyr	   r*   r   Ú__classcell__)r%   s   @r&   r   r      sî   ø€ € € € € € à")Ô"4Ð7HÑ"H€Jc˜3h”ÐHÐHÑHà=Að 
ð 
ð 
¨H°T¬Nð 
ÐPTð 
ð 
ð 
ð 
ð 
ð 
ð, ð"˜dð "ð "ð "ñ „Xð"ð
0¨'ð 
0ð 
0ð 
0ð 
0ð 
0ð 
0ð6˜4ð 6 Cð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6r'   r   ÚJSONRequest)Ú__doc__r   r,   r   Útypingr   r   Úscrapy.http.requestr   Úscrapy.utils.deprecater   r   r6   © r'   r&   ú<module>r<      s«   ððð ð €€€Ø €€€Ø €€€Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø :Ð :Ð :Ð :Ð :Ð :ð,6ð ,6ð ,6ð ,6ð ,6'ñ ,6ô ,6ð ,6ð^ &Ð% m°[ÑAÔA€€€r'   