From 79a4cdf4f553c9e0e2c7455b34585ab375eceee1 Mon Sep 17 00:00:00 2001
From: Julien Ortet <julien@le-filament.com>
Date: Wed, 29 Jan 2025 14:41:57 +0100
Subject: [PATCH] [ADD] add headers from response in return

---
 __manifest__.py         |  2 +-
 models/api_connector.py | 21 ++++++++++++---------
 2 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/__manifest__.py b/__manifest__.py
index 73d95c4..0cbfdb1 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -4,7 +4,7 @@
     "author": "Le Filament",
     "website": "https://le-filament.com",
     "development_status": "Beta",
-    "version": "14.0.0.0.0",
+    "version": "14.0.0.0.1",
     "license": "AGPL-3",
     "depends": ["base"],
     "data": [
diff --git a/models/api_connector.py b/models/api_connector.py
index 2036884..c19f262 100644
--- a/models/api_connector.py
+++ b/models/api_connector.py
@@ -40,7 +40,7 @@ class ApiConnector(models.AbstractModel):
     # ------------------------------------------------------
     # API functions
     # ------------------------------------------------------
-    def call_api(self, url, call_type, **kwargs):
+    def call_api(self, url, call_type, with_headers=False,**kwargs):
         """
         :param url: action API Alfresco
         :param call_type: post/get/put/delete
@@ -66,16 +66,19 @@ class ApiConnector(models.AbstractModel):
         except Exception as e:
             raise e
 
+        if with_headers:
+            return response.json(), response.headers
+
         return response.json()
 
-    def api_get(self, url, **kwargs):
-        return self.call_api(url, "get", **kwargs)
+    def api_get(self, url, with_headers=False,**kwargs):
+        return self.call_api(url, "get", with_headers=with_headers, **kwargs)
 
-    def api_post(self, url, **kwargs):
-        return self.call_api(url, "post", **kwargs)
+    def api_post(self, url, with_headers=False,**kwargs):
+        return self.call_api(url, "post", with_headers=with_headers, **kwargs)
 
-    def api_put(self, url, **kwargs):
-        return self.call_api(url, "put", **kwargs)
+    def api_put(self, url, with_headers=False,**kwargs):
+        return self.call_api(url, "put", with_headers=with_headers, **kwargs)
 
-    def api_delete(self, url, **kwargs):
-        return self.call_api(url, "delete", **kwargs)
+    def api_delete(self, url, with_headers=False, **kwargs):
+        return self.call_api(url, "delete", with_headers=with_headers, **kwargs)
-- 
GitLab