sharedkernel 2.6.2__py3-none-any.whl → 2.6.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -60,6 +60,19 @@ class IPSessionAuth:
60
60
  except (ValueError, TypeError, json.JSONDecodeError):
61
61
  raise BusinessException(ErrorCode.Internal_Server)
62
62
 
63
+ def _get_ip_from_request(self, request: dict, ip_header_name: str) -> str:
64
+ ip_address = request.headers.get(ip_header_name)
65
+
66
+ if not ip_address:
67
+ return None
68
+
69
+ if ip_header_name.lower() == "x-forwarded-for":
70
+ ip_address = ip_address.split(",")[0]
71
+
72
+ return ip_address
73
+
74
+
75
+
63
76
 
64
77
  @unified_logger()
65
78
  def ip_session_auth(self, request: Request):
@@ -99,7 +112,7 @@ class IPSessionAuth:
99
112
  print("IP_SESSION_AUTH | ERROR | No nameid or sessionid found")
100
113
  raise UnAuthorizedException()
101
114
 
102
- request_ip = request.headers.get(config.IP_HEADER_NAME)
115
+ request_ip = self._get_ip_from_request(request, config.IP_HEADER_NAME)
103
116
 
104
117
  if not request_ip:
105
118
  if config.VERBOSE:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sharedkernel
3
- Version: 2.6.2
3
+ Version: 2.6.3
4
4
  Summary: sharekernel is a shared package between all python projects
5
5
  Author: Smilinno
6
6
  Description-Content-Type: text/markdown
@@ -31,6 +31,8 @@ Dynamic: summary
31
31
  this is a shared kernel package
32
32
 
33
33
  # Change Log
34
+ ### Version 2.6.3
35
+ - fix bug ip-header-name
34
36
  ### Version 2.6.2
35
37
  - Add Verbose
36
38
  ### Version 2.6.1
@@ -4,7 +4,7 @@ sharedkernel/data_format_converter.py,sha256=GWGbfhKJBifkz-cfnqKAFjJM43WC0qdq9KS
4
4
  sharedkernel/date_converter.py,sha256=Cjd4ewm0pIfQzv7nlgAAB_EYrr-VvXxQGehJCNphgXc,4491
5
5
  sharedkernel/diff_utils.py,sha256=mtwJmc05GAXUOB0ZLtqAhfBT1kGoSQ7qmP5N44P73ho,2564
6
6
  sharedkernel/file_validation.py,sha256=X-vdUy1Se2li3f-_Ro5UJi_Muqz-QmkKu6b5eHs-eiA,2892
7
- sharedkernel/ip_session_service.py,sha256=Oru8qUhdHeAgaRkLoCrsWO-_TP17PQ2yMDn8x8cHEaA,5224
7
+ sharedkernel/ip_session_service.py,sha256=CXXNZWfFqm_28L1Wx0mTrw_MC5RxsNdfzubw0Ld90gA,5597
8
8
  sharedkernel/jwt_service.py,sha256=QNkGLn1ZzU5gBD0Cjyadtqu_zHnS3_A2y-CDZSrc4Q8,1872
9
9
  sharedkernel/multipart_upload.py,sha256=JVlCBlznB9dWh2_spjAqzLOqQT1CHUTvrR4m7ug8qaM,1877
10
10
  sharedkernel/regex_masking.py,sha256=zQrgteP8Cuq1EC9B7QUJqAXUxK9ISD9kWMYK2AbRfw0,3288
@@ -40,7 +40,7 @@ sharedkernel/objects/json_string_model.py,sha256=j63tnoqiok0EmBP6T-ChYuQYKPw7mLq
40
40
  sharedkernel/objects/jwt_model.py,sha256=XQHQhTbg7PT8XiUh5fd9MwRH4ldPsesI_hfbjaSqdKg,134
41
41
  sharedkernel/objects/result.py,sha256=I_9hX5TPEO1oStzuFLjFh1rtimXorz7ml-OaW_2BMvc,680
42
42
  sharedkernel/objects/user_info.py,sha256=51WyspRxlIWzK7Lfxgqg4D6mylXeHe9ZSenf-RhYTdA,286
43
- sharedkernel-2.6.2.dist-info/METADATA,sha256=FPMlxY5-ML4oob4T7-238cIRQoU37Ca1uHUbFo2NPjk,3952
44
- sharedkernel-2.6.2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
45
- sharedkernel-2.6.2.dist-info/top_level.txt,sha256=TVTOnV1MItSSlpSjqkiijuHkoVsGHS4CArpsM-lylkE,13
46
- sharedkernel-2.6.2.dist-info/RECORD,,
43
+ sharedkernel-2.6.3.dist-info/METADATA,sha256=aNnJemtZyuKmUV5KQtZbv8n2sgluq2wYWnmSwABS1qo,3995
44
+ sharedkernel-2.6.3.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
45
+ sharedkernel-2.6.3.dist-info/top_level.txt,sha256=TVTOnV1MItSSlpSjqkiijuHkoVsGHS4CArpsM-lylkE,13
46
+ sharedkernel-2.6.3.dist-info/RECORD,,