예제 #1
0
파일: utils.py 프로젝트: LinuxHaus/checkmk
def post_request(
    message_constructor: Callable[[dict[str, str]], dict[str, str]],
    url: Optional[str] = None,
    headers: Optional[dict[str, str]] = None,
) -> requests.Response:
    context = collect_context()

    if not url:
        url = retrieve_from_passwordstore(context["PARAMETER_WEBHOOK_URL"])
        if url is None:
            sys.stderr.write("No URL was retrieved from passwordstore")
            sys.exit(2)

    serialized_proxy_config = context.get("PARAMETER_PROXY_URL")

    verify: bool = True
    if "PARAMETER_IGNORE_SSL" in context:
        verify = False

    try:
        response = requests.post(
            url=url,
            json=message_constructor(context),
            proxies=typeshed_issue_7724(
                deserialize_http_proxy_config(
                    serialized_proxy_config).to_requests_proxies()),
            headers=headers,
            verify=verify,
        )
    except requests.exceptions.ProxyError:
        sys.stderr.write("Cannot connect to proxy: %s\n" %
                         serialized_proxy_config)
        sys.exit(2)

    return response
예제 #2
0
def post_request(message_constructor, url=None, headers=None):
    context = collect_context()

    if not url:
        url = retrieve_from_passwordstore(context.get("PARAMETER_WEBHOOK_URL"))

    serialized_proxy_config = context.get("PARAMETER_PROXY_URL")

    verify: bool = True
    if "PARAMETER_IGNORE_SSL" in context:
        verify = False

    try:
        response = requests.post(
            url=url,
            json=message_constructor(context),
            proxies=deserialize_http_proxy_config(
                serialized_proxy_config).to_requests_proxies(),
            headers=headers,
            verify=verify,
        )
    except requests.exceptions.ProxyError:
        sys.stderr.write("Cannot connect to proxy: %s\n" %
                         serialized_proxy_config)
        sys.exit(2)

    return response
예제 #3
0
 def __init__(
     self,
     api_host: str,
     api_key: str,
     app_key: str,
     proxy: Optional[str] = None,
 ) -> None:
     self._query_heads = {
         "DD-API-KEY": api_key,
         "DD-APPLICATION-KEY": app_key,
     }
     self._api_url = api_host.rstrip("/") + "/api/v1"
     self._proxy = deserialize_http_proxy_config(proxy)