
    Ii:                         S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKJr  SSKJr  SSKJr  SSKrSSKJr  SS	KJrJr  \R,                  " \5      r " S
 S\R2                  5      r " S S\5      rg)z
Python SDK for Opsgenie REST API

Python SDK for Opsgenie REST API  # noqa: E501

The version of the OpenAPI document: 2.0.0
Contact: support@opsgenie.com
Generated by: https://openapi-generator.tech
    )absolute_importN)	urlencode)errors   )
HttpMetric)
exceptions)ApiExceptionApiValueErrorc                   *    \ rS rSrS rS rSS jrSrg)RESTResponse&   c                 v    Xl         UR                  U l        UR                  U l        UR                  U l        g N)urllib3_responsestatusreasondata)selfresps     7/venv/lib/python3.13/site-packages/opsgenie_sdk/rest.py__init__RESTResponse.__init__(   s)     $kkkkII	    c                 6    U R                   R                  5       $ )z-Returns a dictionary of the response headers.)r   
getheaders)r   s    r   r   RESTResponse.getheaders.   s    $$//11r   Nc                 8    U R                   R                  X5      $ )z Returns a given response header.)r   	getheader)r   namedefaults      r   r   RESTResponse.getheader2   s    $$..t==r   )r   r   r   r   r   )__name__
__module____qualname____firstlineno__r   r   r   __static_attributes__ r   r   r   r   &   s    2>r   r   c                       \ rS rSrSS jr   SS jr  SS jr  SS jr  SS jr  SS jr	  SS	 jr
  SS
 jr  SS jrS rS rSrg)RESTClientObject7   Nc                    UR                   U l         UR                  (       a  [        R                  nO[        R                  nUR
                  (       a  UR
                  nO[        R                  " 5       n0 nUR                  b  UR                  US'   SUS'   Uc  UR                  b  UR                  nOSnUR                  U l        X@l        [        S5      U l        Xl        UR                   (       aM  ["        R$                  " SUUUUUR&                  UR(                  UR                   UR*                  S.UD6U l        g ["        R.                  " SUUUUUR&                  UR(                  S.UD6U l        g )	Nassert_hostnameFretries   HttpMetricPublisher)	num_poolsmaxsize	cert_reqsca_certs	cert_filekey_file	proxy_urlproxy_headers)r0   r1   r2   r3   r4   r5   r'   )retry_count
verify_sslsslCERT_REQUIRED	CERT_NONEssl_ca_certcertifiwherer,   connection_pool_maxsizeretry_http_response
http_codesretryingr   http_metricconfigurationproxyurllib3ProxyManagerr4   r5   r7   pool_managerPoolManager)r   rE   
pools_sizer1   rC   r2   r3   addition_pool_argss           r   r   RESTClientObject.__init__9   sg    )44##))II $$$00H }}H((44A4Q4Q01(-9%?44@'??';; %&;<*  ' 4 4 
!$#!'11&//'--+99
! %
!D !( 3 3 !$#!'11&//! %!Dr   c	                    UR                  5       nUS;   d   eU(       a  U(       a  [        S5      eU=(       d    0 nU=(       d    0 nSn	U(       as  [        U[        R                  5      (       a  [
        R                  " US9n	O?[        U[        5      (       a*  [        U5      S:X  a  [
        R                  " US   US   S9n	S	U;  a  S
US	'    US;   Ga(  U(       a  US[        U5      -   -  n[        R                  " SUS	   [        R                  5      (       a9  Sn
Ub  [        R                  " U5      n
U R                  R!                  XU
UU	US9nOUS	   S:X  a  U R                  R!                  XUSUU	US9nOUS	   S:X  a"  US		 U R                  R!                  XUSUU	US9nOt[        U["        5      (       d  [        U[$        5      (       a   Un
U R                  R!                  XU
UU	US9nO*Sn['        SUS9eU R                  R!                  XUUU	US9n U(       a`  [3        U5      n[        R4                  (       a   UR6                  R9                  S5      Ul        [:        R=                  SUR6                  5        SU4SU4SU4SU4SU4SU4/n U R?                  UR6                  5      nURA                  S 5      nS!U;  a  SnOSn U RB                  RE                  U RF                  RH                  UU[J        RL                  " U RN                  RP                  5      UURR                  URR                  US"9  U RU                  URR                  5      nU(       a  [(        RV                  " US#9nUeS$U l,        U$ ! [
        R(                  R*                   a=  nSR-                  [/        U5      R0                  [#        U5      5      n['        SUS9eSnAff = f!   SnSn GN= f)%a0  Perform requests.

:param method: http request method
:param url: http request url
:param query_params: query parameters in the url
:param headers: http request headers
:param body: request json body, for `application/json`
:param post_params: request post parameters,
                    `application/x-www-form-urlencoded`
                    and `multipart/form-data`
:param _preload_content: if False, the urllib3.HTTPResponse object will
                         be returned without reading/decoding response
                         data. Default is True.
:param _request_timeout: timeout setting for this request. If one
                         number provided, it will be total request
                         timeout. It can also be a pair (tuple) of
                         (connection, read) timeouts.
)GETHEADDELETEPOSTPUTPATCHOPTIONSz9body parameter cannot be used with post_params parameter.N)total   r   r   )connectreadzContent-Typezapplication/json)rR   rS   rT   rU   rQ   ?json)bodypreload_contenttimeoutheadersz!application/x-www-form-urlencodedF)fieldsencode_multipartr]   r^   r_   zmultipart/form-dataTzCannot prepare a request message for provided
                             arguments. Please check that your arguments match
                             declared content type.r   r   )r`   r]   r^   r_   z{0}
{1}utf8zresponse body: %smethodurlquery_paramsr_   r\   post_paramstookmessage)transaction_iddurationresource_pathretry_statisticserrorr   status_coderequest)response)-upperr
   
isinstancesixinteger_typesrG   Timeouttuplelenr   research
IGNORECASEr[   dumpsrI   rp   strbytesr	   r   SSLErrorformattyper"   r   PY3r   decodeloggerdebugdecodeResponsegetrD   build_metricrE   metrics_transaction_idcopydeepcopyrC   
statisticsr   __checkHttpCode__build_exceptionr-   )r   rd   re   rf   r_   r\   rg   _preload_content_request_timeoutr^   request_bodyrmsgehttp_metrics_requestr   rk   rn   should_retry	exceptions                       r   rp   RESTClientObject.requestx   s   *  . . 	. . 4K  "'R-R*C,=,=>>!//0@A-u55&'1,!//,Q/6Fq6IK (&8GN#=	5FF3<!888C99VW^%<bmmLL#'L''+zz$'7))11)(8 ' ' 2 )A ^,0SS))11*).(8 ' ' 2 )A ^,0EE  /))11*)-(8 ' ' 2 )A  c**ju.E.E#'L))11)(8 ' ' 2 )A7C 'a<< %%--f5A>N6=6=	 . ? QA wwv. LL,aff5!)6 2UCL>S_B`clnubv"D>M;+G I		&&qvv.Dxx'H$
 	%%T5G5G5^5^/7477;}}T]]E]E]7^,1-.XX23((.B 	& 	D --ahh7"22A>IOY !!** 	5##DG$4$4c!f=Ca44	52	HEsD   BN 'N >*N )A	N 3)N 4O  O  O 8OO O)c           	      *    U R                  SUUUUUS9$ )NrO   r_   r   r   rf   rp   r   re   r_   rf   r   r   s         r   rO   RESTClientObject.GET  s(    ||E3$+-=-=)5	  7 	7r   c           	      *    U R                  SUUUUUS9$ )NrP   r   r   r   s         r   rP   RESTClientObject.HEAD  s(    ||FC$+-=-=)5	  7 	7r   c                 .    U R                  SUUUUUUUS9$ )NrU   r_   rf   rg   r   r   r\   r   r   re   r_   rf   rg   r\   r   r   s           r   rU   RESTClientObject.OPTIONS  s.    ||Is$+)5(3-=-=!%  ' 	'r   c           
      ,    U R                  SUUUUUUS9$ )NrQ   )r_   rf   r   r   r\   r   )r   re   r_   rf   r\   r   r   s          r   rQ   RESTClientObject.DELETE(  s+    ||Hc$+)5-=-=!%  ' 	'r   c                 .    U R                  SUUUUUUUS9$ )NrR   r   r   r   s           r   rR   RESTClientObject.POST1  s.    ||FC$+)5(3-=-=!%  ' 	'r   c                 .    U R                  SUUUUUUUS9$ )NrS   r   r   r   s           r   rS   RESTClientObject.PUT;  s.    ||E3$+)5(3-=-=!%  ' 	'r   c                 .    U R                  SUUUUUUUS9$ )NrT   r   r   r   s           r   rT   RESTClientObject.PATCHE  s.    ||GS$+)5(3-=-=!%  ' 	'r   c                 .    [         R                  " U5      $ r   )r[   loads)r   r   s     r   r   RESTClientObject.decodeResponseO  s    zz$r   c                    Sn U R                   nU H  nU(       a  M  SU;   aU  UR                  S5       Vs/ s H  n[        UR                  5       5      PM     nnUS   Us=:*  =(       a    US   :*  Os  nMg  SU;   a  [        US   5      [        US-  5      :H  nM  [        U5      U:X  a  SnM  [	        U5      S[	        U5      -  s=:w  a  S	:w  a   [
        R                  e  SnM     U$ s  snf !   S
n[
        R                  " SUS9e= f)NF-r   r   xd   T      zPlease ensure your configured HTTP codes follow the following format:
* Single codes, i.e '504', '429'
* Range of codes, i.e '500-504'
* Entire code groups, i.e '4xx', '5xx'zInvalid HTTP coderb   )rB   splitintstripry   r   HTTPException)r   r   resultcode_setcode
singleCode	httpRanger   s           r   r   "RESTClientObject.__checkHttpCode__R  s   	OH vd{OSzzZ]$_S)9)9);%<	$_!*1!G!G9Q<!G!$T!WVc\1B!BTf,!%Ta#d)m8q8$222 9 "' !& ! %`	O;C &&.A#NNs"   C2 C2 #C-BC2 -C2 2D)rE   rB   rD   rI   r-   r8   rC   )r.   NN)NNNNTN)NNTN)NNNTN)r"   r#   r$   r%   r   rp   rO   rP   rU   rQ   rR   rS   rT   r   r   r&   r'   r   r   r)   r)   7   s    =~ ?C>B!%Tl JN!7 KO"7 IMCG' AE7;' FJ@D' EI?C' GKAE' r   r)   )__doc__
__future__r   r   ior[   loggingrz   r:   r>   ru   six.moves.urllib.parser   opsgenie_sdkr   metricsr   rG   r   opsgenie_sdk.exceptionsr	   r
   	getLoggerr"   r   IOBaser   objectr)   r'   r   r   <module>r      si    '  	   	 
  
 ,    # ? 
		8	$>299 >"rv rr   