diff --git a/frappe/integrations/utils.py b/frappe/integrations/utils.py index 09c20568b5..b897a35062 100644 --- a/frappe/integrations/utils.py +++ b/frappe/integrations/utils.py @@ -8,35 +8,14 @@ from urllib.parse import parse_qs from frappe.utils import get_request_session from frappe import _ -def make_get_request(url, auth=None, headers=None, data=None): - if not auth: - auth = '' - if not data: - data = {} - if not headers: - headers = {} +def make_request(method, url, auth=None, headers=None, data=None): + auth = auth or '' + data = data or {} + headers = headers or {} try: s = get_request_session() - frappe.flags.integration_request = s.get(url, data={}, auth=auth, headers=headers) - frappe.flags.integration_request.raise_for_status() - return frappe.flags.integration_request.json() - - except Exception as exc: - frappe.log_error(frappe.get_traceback()) - raise exc - -def make_post_request(url, auth=None, headers=None, data=None): - if not auth: - auth = '' - if not data: - data = {} - if not headers: - headers = {} - - try: - s = get_request_session() - frappe.flags.integration_request = s.post(url, data=data, auth=auth, headers=headers) + frappe.flags.integration_request = s.request(method, url, data=data, auth=auth, headers=headers) frappe.flags.integration_request.raise_for_status() if frappe.flags.integration_request.headers.get("content-type") == "text/plain; charset=utf-8": @@ -47,6 +26,15 @@ def make_post_request(url, auth=None, headers=None, data=None): frappe.log_error() raise exc +def make_get_request(url, **kwargs): + return make_request('GET', url, **kwargs) + +def make_post_request(url, **kwargs): + return make_request('POST', url, **kwargs) + +def make_put_request(url, **kwargs): + return make_request('PUT', url, **kwargs) + def create_request_log(data, integration_type, service_name, name=None, error=None): if isinstance(data, str): data = json.loads(data)