9.10. EndpointExtractor¶
-
exception
safeguard.sessions.plugin.endpoint_extractor.EndpointException(message, variables=None)¶ The
EndpointExceptionexception is raised when an endpoint responds with non-OK status code or the response does not contain the data queried by the user. It is a subclass ofPluginSDKRuntimeError.
-
class
safeguard.sessions.plugin.endpoint_extractor.EndpointExtractor(base_url=None)¶ The
EndpointExtractorclass represents an utility class which sends GET and POST requests to an URL, then extracts data from the responses.-
base_url¶ The
self.base_urlattribute contains the common prefix of the URLs to where the HTTP requests will be sent. Ifself.base_urlis not specified, then the user must provide the full URL when callingextract_data_from_endpoint().
-
extract_data_from_endpoint(session, endpoint_url, data_path=None, method='get', headers=None, data=None, params=None)¶ The
extract_data_from_endpoint()method uses invoke_http_method to invokes a HTTP method on the specified endpoint, then extracts the needed data from the endpoint’s response.- Parameters
session – the requests.Session or
RequestsTLSobject on which the HTTP method is invokedendpoint_url (str) – the URL where the HTTP request will be sent. If
self.base_urlis defined, then it will be prepended to this URL.data_path (str) – path to the data to be retrieved, delimited by dots (eg. “key.another_key.last_key”)
method (str) – HTTP method to invoke, one of GET or POST
headers (dict) – dictionary of HTTP Headers to send with the request
data (dict) – dictionary, list of tuples, bytes, or file-like object to send in the body of the request
params (dict) – dictionary, list of tuples or bytes to send in the query string for the request
- Returns
the extracted data from the decoded response JSON
- Raises
-
invoke_http_method(session, endpoint_url, method, headers=None, data=None, params=None)¶ The
invoke_http_method()method invokes a HTTP method on the specified endpoint.- Parameters
session – the requests.Session or
RequestsTLSobject on which the HTTP method is invokedendpoint_url (str) – the URL where the HTTP request will be sent. If
self.base_urlis defined, then it will be prepended to this URL.method (str) – HTTP method to invoke, one of GET or POST
headers (dict) – dictionary of HTTP Headers to send with the request
data (dict) – dictionary, list of tuples, bytes, or file-like object to send in the body of the request
params (dict) – dictionary, list of tuples or bytes to send in the query string for the request
- Returns
response JSON
- Raises
-