Cédric Krier pushed to branch branch/default at Tryton / Tryton


Commits:
4a9e0e65 by Cédric Krier at 2023-05-19T17:25:55+02:00
Set Tryton as default user agent header

Closes #11979
- - - - -
6ea9c407 by Cédric Krier at 2023-05-19T17:32:03+02:00
Set Sendcloud Partner Id header
- - - - -


2 changed files:

- modules/stock_package_shipping_sendcloud/carrier.py
- trytond/trytond/__init__.py


Changes:

=====================================
modules/stock_package_shipping_sendcloud/carrier.py
=====================================
@@ -19,6 +19,9 @@
 SENDCLOUD_API_URL = 'https://panel.sendcloud.sc/api/v2/'
 TIMEOUT = config.getfloat(
     'stock_package_shipping_sendcloud', 'requests_timeout', default=300)
+HEADERS = {
+    'Sendcloud-Partner-Id': '03c1facb-63da-4bb1-889c-192fc91ec4e6',
+    }
 
 
 def sendcloud_api(func):
@@ -87,7 +90,7 @@
             return addresses
         response = requests.get(
             SENDCLOUD_API_URL + 'user/addresses/sender',
-            auth=self.auth, timeout=TIMEOUT)
+            auth=self.auth, timeout=TIMEOUT, headers=HEADERS)
         response.raise_for_status()
         addresses = response.json()['sender_addresses']
         self._addresses_sender_cache.set(self.id, addresses)
@@ -121,7 +124,7 @@
             params['is_return'] = is_return
         response = requests.get(
             SENDCLOUD_API_URL + 'shipping_methods', params=params,
-            auth=self.auth, timeout=TIMEOUT)
+            auth=self.auth, timeout=TIMEOUT, headers=HEADERS)
         response.raise_for_status()
         methods = response.json()['shipping_methods']
         self._shiping_methods_cache.set(key, methods)
@@ -146,7 +149,7 @@
     def get_parcel(self, id):
         response = requests.get(
             SENDCLOUD_API_URL + 'parcels/%s' % id,
-            auth=self.auth, timeout=TIMEOUT)
+            auth=self.auth, timeout=TIMEOUT, headers=HEADERS)
         response.raise_for_status()
         return response.json()['parcel']
 
@@ -154,7 +157,7 @@
     def create_parcels(self, parcels):
         response = requests.post(
             SENDCLOUD_API_URL + 'parcels', json={'parcels': parcels},
-            auth=self.auth, timeout=TIMEOUT)
+            auth=self.auth, timeout=TIMEOUT, headers=HEADERS)
         if response.status_code == 400:
             msg = response.json()['error']['message']
             raise requests.HTTPError(msg, response=response)
@@ -163,7 +166,8 @@
 
     @sendcloud_api
     def get_label(self, url):
-        response = requests.get(url, auth=self.auth, timeout=TIMEOUT)
+        response = requests.get(
+            url, auth=self.auth, timeout=TIMEOUT, headers=HEADERS)
         response.raise_for_status()
         return response.content
 


=====================================
trytond/trytond/__init__.py
=====================================
@@ -8,6 +8,11 @@
 import __main__
 from lxml import etree, objectify
 
+try:
+    from requests import utils as requests_utils
+except ImportError:
+    requests_utils = None
+
 __version__ = "6.9.0"
 
 os.environ.setdefault(
@@ -27,3 +32,11 @@
 # prevent XML vulnerabilities by default
 etree.set_default_parser(etree.XMLParser(resolve_entities=False))
 objectify.set_default_parser(objectify.makeparser(resolve_entities=False))
+
+
+def default_user_agent(name="Tryton"):
+    return f"{name}/{__version__}"
+
+
+if requests_utils:
+    requests_utils.default_user_agent = default_user_agent



View it on Heptapod: 
https://foss.heptapod.net/tryton/tryton/-/compare/6ce8f3bbbfcdae910deb83be2a173677a8d70a6a...6ea9c407ccc8534446afbccc43ad00d8a4933389

-- 
View it on Heptapod: 
https://foss.heptapod.net/tryton/tryton/-/compare/6ce8f3bbbfcdae910deb83be2a173677a8d70a6a...6ea9c407ccc8534446afbccc43ad00d8a4933389
You're receiving this email because of your account on foss.heptapod.net.


Reply via email to