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
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
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)