Skip to content

Commit 7a7596e

Browse files
committed
add a method to build metadata headers
1 parent d6c87a0 commit 7a7596e

File tree

5 files changed

+23
-21
lines changed

5 files changed

+23
-21
lines changed

splitio/api/__init__.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,20 @@ def __init__(self, custom_message, status_code=None):
1212
def status_code(self):
1313
"""Return HTTP status code."""
1414
return self._status_code
15+
16+
17+
def headers_from_metadata(sdk_metadata):
18+
"""
19+
Generate a dict with headers required by data-recording API endpoints.
20+
21+
:param sdk_metadata: SDK Metadata object, generated at sdk initialization time.
22+
:type sdk_metadata: splitio.client.util.SdkMetadata
23+
24+
:return: A dictionary with headers.
25+
:rtype: dict
26+
"""
27+
return {
28+
'SplitSDKVersion': sdk_metadata.sdk_version,
29+
'SplitSDKMachineIP': sdk_metadata.instance_ip,
30+
'SplitSDKMachineName': sdk_metadata.instance_name
31+
}

splitio/api/events.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from future.utils import raise_from
55

6-
from splitio.api import APIException
6+
from splitio.api import APIException, headers_from_metadata
77
from splitio.api.client import HttpClientException
88

99

@@ -24,11 +24,7 @@ def __init__(self, http_client, apikey, sdk_metadata):
2424
self._logger = logging.getLogger(self.__class__.__name__)
2525
self._client = http_client
2626
self._apikey = apikey
27-
self._metadata = {
28-
'SplitSDKVersion': sdk_metadata.sdk_version,
29-
'SplitSDKMachineIP': sdk_metadata.instance_ip,
30-
'SplitSDKMachineName': sdk_metadata.instance_name
31-
}
27+
self._metadata = headers_from_metadata(sdk_metadata)
3228

3329
@staticmethod
3430
def _build_bulk(events):

splitio/api/impressions.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from future.utils import raise_from
77

8-
from splitio.api import APIException
8+
from splitio.api import APIException, headers_from_metadata
99
from splitio.api.client import HttpClientException
1010

1111

@@ -24,11 +24,7 @@ def __init__(self, client, apikey, sdk_metadata):
2424
self._logger = logging.getLogger(self.__class__.__name__)
2525
self._client = client
2626
self._apikey = apikey
27-
self._metadata = {
28-
'SplitSDKVersion': sdk_metadata.sdk_version,
29-
'SplitSDKMachineIP': sdk_metadata.instance_ip,
30-
'SplitSDKMachineName': sdk_metadata.instance_name
31-
}
27+
self._metadata = headers_from_metadata(sdk_metadata)
3228

3329
@staticmethod
3430
def _build_bulk(impressions):

splitio/api/telemetry.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import six
55
from future.utils import raise_from
66

7-
from splitio.api import APIException
7+
from splitio.api import APIException, headers_from_metadata
88
from splitio.api.client import HttpClientException
99

1010

@@ -25,12 +25,7 @@ def __init__(self, client, apikey, sdk_metadata):
2525
self._logger = logging.getLogger(self.__class__.__name__)
2626
self._client = client
2727
self._apikey = apikey
28-
self._metadata = {
29-
'SplitSDKVersion': sdk_metadata.sdk_version,
30-
'SplitSDKMachineIP': sdk_metadata.instance_ip,
31-
'SplitSDKMachineName': sdk_metadata.instance_name
32-
}
33-
28+
self._metadata = headers_from_metadata(sdk_metadata)
3429
@staticmethod
3530
def _build_latencies(latencies):
3631
"""

splitio/client/listener.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,6 @@ def log_impression(self, impression, attributes=None):
5151
try:
5252
self.impression_listener.log_impression(data)
5353
except Exception as exc: #pylint: disable=broad-except
54-
import traceback
55-
traceback.print_exc()
5654
raise_from(
5755
ImpressionListenerException('Error in log_impression user\'s method is throwing exceptions'),
5856
exc

0 commit comments

Comments
 (0)