
    Vh
                         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 d	d
iZ G d de      Zy)    )absolute_importdivisionprint_functionz
---
author: Ansible Security Team (@ansible-security)
name: splunk
short_description: HttpApi Plugin for Splunk
description:
  - This HttpApi plugin provides methods to connect to Splunk over a
    HTTP(S)-based api.
version_added: "1.0.0"
N)AnsibleConnectionFailure)to_text)ConnectionError)	HTTPError)HttpApiBasezContent-Typezapplication/jsonc                   &    e Zd ZddZd Zd Zd Zy)HttpApiNc                 ,   	 | j                  ||       | j                  j                  |||t        d      \  }}| j	                  |      }|j                         | j                  |      fS # t        $ r[}| j                  j                  dd|z         t        d      t        |      v r t        d      t        |      v rY d }~yY d }~yd }~wt        $ r;}t        j                  |j                               }|j                  |fcY d }~S d }~ww xY w)	NT)methodheadersforce_basic_authvvvzAnsibleConnectionFailure: %szCould not connect to401)i  zAuthentication failure)i  zObject not found)_display_request
connectionsendBASE_HEADERS_get_response_valuegetcode_response_to_jsonr   queue_messager   r	   jsonloadsreadcode)	selfrequest_methodpathpayloadresponseresponse_datavalueeerrors	            d/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/splunk/es/plugins/httpapi/splunk.pysend_requestzHttpApi.send_request!   s    	!!!.$7&*oo&:&:%$!% '; '#Hm ,,];E##%t'='=e'DDD' 
	/OO)).2 -.'!*<u~+4. 	!JJqvvx(E665= 	!s+   A*A- -	D6ACD0DDDc           	      v    | j                   j                  dd|d| j                   j                  d|       y )NvvvvzWeb Services:  /)r   r   _url)r   r    r!   s      r(   r   zHttpApi._display_request?   s+    %%(68L8LdS	
    c                 4    t        |j                               S N)r   getvalue)r   r$   s     r(   r   zHttpApi._get_response_valueE   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_jsonH   s@    	O0=4::m,E2E 	O!"="MNN	Os     3r1   )__name__
__module____qualname__r)   r   r   r    r/   r(   r   r       s    !<
1Or/   r   )
__future__r   r   r   type__metaclass__DOCUMENTATIONr   ansible.errorsr   ansible.module_utils.basicr   ansible.module_utils.connectionr   +ansible.module_utils.six.moves.urllib.errorr	   Gansible_collections.ansible.netcommon.plugins.plugin_utils.httpapi_baser
   r   r   r9   r/   r(   <module>rC      sK    A @ 	  3 . ; A _  23-Ok -Or/   