
    Vh	                     z    d dl mZmZmZ eZdZd dlZd dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ  G d	 d
e      Zy)    )absolute_importdivisionprint_functionz
---
author: Ansible Security Team (@ansible-security)
name: qradar
short_description: HttpApi Plugin for IBM QRadar
description:
  - This HttpApi plugin provides methods to connect to IBM QRadar over a
    HTTP(S)-based api.
version_added: "1.0.0"
N)to_text)ConnectionError)	HTTPError)HttpApiBase)BASE_HEADERSc                   2    e Zd ZddZd Zd Zd Zd Zd Zy)	HttpApiNc                 p   |r|nt         }	 | j                  |       | j                  j                  ||||      \  }}| j	                  |      }|j                         | j                  |      fS # t        $ r;}t        j                  |j                               }	|j                  |	fcY d }~S d }~ww xY w)N)methodheaders)r
   _display_request
connectionsend_get_response_valuegetcode_response_to_jsonr   jsonloadsreadcode)
selfrequest_methodpathpayloadr   responseresponse_datavalueeerrors
             e/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/ibm/qradar/plugins/httpapi/qradar.pysend_requestzHttpApi.send_request   s    $',	!!!.1&*oo&:&:%	 '; '#Hm ,,];E##%t'='=e'DDD 	!JJqvvx(E665= 	!s   A$A1 1	B5:0B0*B50B5c                 p    | j                   j                  dd|d| j                   j                         y )NvvvvzWeb Services:  )r   queue_message_url)r   r   s     r#   r   zHttpApi._display_request1   s)    %%%3T__5I5IJ	
    c                 4    t        |j                               S )N)r   getvalue)r   r   s     r#   r   zHttpApi._get_response_value7   s    }--/00r*   c                 l    	 |rt        j                  |      S i S # t        $ r t        d|z        w xY w)NzInvalid JSON response: %s)r   r   
ValueErrorr   )r   response_texts     r#   r   zHttpApi._response_to_json:   s@    	O0=4::m,E2E 	O!"="MNN	Os     3c                     |j                         j                  d      }d|v r(d|j                  d      d   j                  d      d   iS y )Nz
Set-CookieSEC;r   =)infogetsplit)r   r   r/   cookies       r#   update_authzHttpApi.update_authA   sK    $$\2F?6<<,Q/55c:2>??r*   c                 J    | j                  dd       d | j                  _        y )NPOSTz/auth/logout)r$   r   _auth)r   s    r#   logoutzHttpApi.logoutI   s     &.1 !%r*   )NN)	__name__
__module____qualname__r$   r   r   r   r9   r=    r*   r#   r   r      s!    !$
1O%r*   r   )
__future__r   r   r   type__metaclass__DOCUMENTATIONr   ansible.module_utils.basicr   ansible.module_utils.connectionr   +ansible.module_utils.six.moves.urllib.errorr   Gansible_collections.ansible.netcommon.plugins.plugin_utils.httpapi_baser	   :ansible_collections.ibm.qradar.plugins.module_utils.qradarr
   r   rA   r*   r#   <module>rK      s<    A @ 	  . ; A _ S/%k /%r*   