Skip to content

Commit db5356b

Browse files
authored
Merge pull request #82 from livechat/Fixup_customer_web_api_get_localization
Fixup related to method get_localization in Customer WEB-API
2 parents b772e8f + 9a63177 commit db5356b

File tree

7 files changed

+340
-487
lines changed

7 files changed

+340
-487
lines changed

docs/customer_web/api/v33.html

Lines changed: 103 additions & 142 deletions
Large diffs are not rendered by default.

docs/customer_web/api/v34.html

Lines changed: 103 additions & 142 deletions
Large diffs are not rendered by default.

docs/customer_web/api/v35.html

Lines changed: 103 additions & 142 deletions
Large diffs are not rendered by default.

livechat/customer/web/api/v33.py

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,9 @@ def get_dynamic_configuration(self,
241241
'''
242242
if payload is None:
243243
payload = prepare_payload(locals())
244-
return self.session.post(
244+
return self.session.get(
245245
f'{self.api_url}/get_dynamic_configuration{self.query_string}',
246-
json=payload,
246+
params=payload,
247247
headers=headers)
248248

249249
def get_configuration(self,
@@ -269,9 +269,9 @@ def get_configuration(self,
269269
'''
270270
if payload is None:
271271
payload = prepare_payload(locals())
272-
return self.session.post(
272+
return self.session.get(
273273
f'{self.api_url}/get_configuration{self.query_string}',
274-
json=payload,
274+
params=payload,
275275
headers=headers)
276276

277277
# Events
@@ -324,7 +324,7 @@ def upload_file(self,
324324
which contains a server’s response to an HTTP request. '''
325325
return self.session.post(
326326
f'{self.api_url}/upload_file{self.query_string}',
327-
content=file.read(),
327+
files=file,
328328
headers=headers)
329329

330330
def send_rich_message_postback(self,
@@ -409,9 +409,9 @@ def get_localization(self,
409409
which contains a server’s response to an HTTP request. '''
410410
if payload is None:
411411
payload = prepare_payload(locals())
412-
return self.session.post(
412+
return self.session.get(
413413
f'{self.api_url}/get_localization{self.query_string}',
414-
json=payload,
414+
params=payload,
415415
headers=headers)
416416

417417
# Properties
@@ -590,65 +590,55 @@ def delete_event_properties(self,
590590
def list_license_properties(self,
591591
namespace: str = None,
592592
name: str = None,
593-
payload: dict = None,
594593
headers: dict = None) -> httpx.Response:
595594
''' Returns the properties of a given license. It only returns the properties a Customer has access to.
596595
597596
Args:
598597
namespace (str): Property namespace to retrieve.
599598
name (str): Property name.
600-
payload (dict): Custom payload to be used as request's data.
601599
headers (dict): Custom headers to be used with session headers.
602600
They will be merged with session-level values that are set,
603601
however, these method-level parameters will not be persisted across requests.
604602
605603
Returns:
606604
httpx.Response: The Response object from `httpx` library,
607605
which contains a server’s response to an HTTP request. '''
608-
if payload is None:
609-
payload = {}
610606
params = {}
611607
if namespace:
612608
params['namespace'] = namespace
613609
if name:
614610
params['name'] = name
615611
params['license_id'] = self.license_id
616-
return self.session.post(f'{self.api_url}/list_license_properties',
617-
json=payload,
612+
return self.session.get(f'{self.api_url}/list_license_properties',
618613
params=params,
619614
headers=headers)
620615

621616
def list_group_properties(self,
622617
group_id: int = None,
623618
namespace: str = None,
624619
name: str = None,
625-
payload: dict = None,
626620
headers: dict = None) -> httpx.Response:
627621
''' Returns the properties of a given group. It only returns the properties a Customer has access to.
628622
Args:
629623
group_id (int): ID of the group you want to return the properties of.
630624
namespace (str): Property namespace to retrieve.
631625
name (str): Property name.
632-
payload (dict): Custom payload to be used as request's data.
633626
headers (dict): Custom headers to be used with session headers.
634627
They will be merged with session-level values that are set,
635628
however, these method-level parameters will not be persisted across requests.
636629
637630
Returns:
638631
httpx.Response: The Response object from `httpx` library,
639632
which contains a server’s response to an HTTP request. '''
640-
if payload is None:
641-
payload = {}
642633
params = {}
643634
if namespace:
644635
params['namespace'] = namespace
645636
if name:
646637
params['name'] = name
647-
if group_id:
638+
if group_id is not None:
648639
params['id'] = str(group_id)
649640
params['license_id'] = self.license_id
650-
return self.session.post(f'{self.api_url}/list_group_properties',
651-
json=payload,
641+
return self.session.get(f'{self.api_url}/list_group_properties',
652642
params=params,
653643
headers=headers)
654644

livechat/customer/web/api/v34.py

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,9 @@ def get_dynamic_configuration(self,
241241
'''
242242
if payload is None:
243243
payload = prepare_payload(locals())
244-
return self.session.post(
244+
return self.session.get(
245245
f'{self.api_url}/get_dynamic_configuration{self.query_string}',
246-
json=payload,
246+
params=payload,
247247
headers=headers)
248248

249249
def get_configuration(self,
@@ -269,9 +269,9 @@ def get_configuration(self,
269269
'''
270270
if payload is None:
271271
payload = prepare_payload(locals())
272-
return self.session.post(
272+
return self.session.get(
273273
f'{self.api_url}/get_configuration{self.query_string}',
274-
json=payload,
274+
params=payload,
275275
headers=headers)
276276

277277
# Events
@@ -324,7 +324,7 @@ def upload_file(self,
324324
which contains a server’s response to an HTTP request. '''
325325
return self.session.post(
326326
f'{self.api_url}/upload_file{self.query_string}',
327-
content=file.read(),
327+
files=file,
328328
headers=headers)
329329

330330
def send_rich_message_postback(self,
@@ -409,9 +409,9 @@ def get_localization(self,
409409
which contains a server’s response to an HTTP request. '''
410410
if payload is None:
411411
payload = prepare_payload(locals())
412-
return self.session.post(
412+
return self.session.get(
413413
f'{self.api_url}/get_localization{self.query_string}',
414-
json=payload,
414+
params=payload,
415415
headers=headers)
416416

417417
# Properties
@@ -590,65 +590,55 @@ def delete_event_properties(self,
590590
def list_license_properties(self,
591591
namespace: str = None,
592592
name: str = None,
593-
payload: dict = None,
594593
headers: dict = None) -> httpx.Response:
595594
''' Returns the properties of a given license. It only returns the properties a Customer has access to.
596595
597596
Args:
598597
namespace (str): Property namespace to retrieve.
599598
name (str): Property name.
600-
payload (dict): Custom payload to be used as request's data.
601599
headers (dict): Custom headers to be used with session headers.
602600
They will be merged with session-level values that are set,
603601
however, these method-level parameters will not be persisted across requests.
604602
605603
Returns:
606604
httpx.Response: The Response object from `httpx` library,
607605
which contains a server’s response to an HTTP request. '''
608-
if payload is None:
609-
payload = {}
610606
params = {}
611607
if namespace:
612608
params['namespace'] = namespace
613609
if name:
614610
params['name'] = name
615611
params['organization_id'] = self.organization_id
616-
return self.session.post(f'{self.api_url}/list_license_properties',
617-
json=payload,
612+
return self.session.get(f'{self.api_url}/list_license_properties',
618613
params=params,
619614
headers=headers)
620615

621616
def list_group_properties(self,
622617
group_id: int = None,
623618
namespace: str = None,
624619
name: str = None,
625-
payload: dict = None,
626620
headers: dict = None) -> httpx.Response:
627621
''' Returns the properties of a given group. It only returns the properties a Customer has access to.
628622
Args:
629623
group_id (int): ID of the group you want to return the properties of.
630624
namespace (str): Property namespace to retrieve.
631625
name (str): Property name.
632-
payload (dict): Custom payload to be used as request's data.
633626
headers (dict): Custom headers to be used with session headers.
634627
They will be merged with session-level values that are set,
635628
however, these method-level parameters will not be persisted across requests.
636629
637630
Returns:
638631
httpx.Response: The Response object from `httpx` library,
639632
which contains a server’s response to an HTTP request. '''
640-
if payload is None:
641-
payload = {}
642633
params = {}
643634
if namespace:
644635
params['namespace'] = namespace
645636
if name:
646637
params['name'] = name
647-
if group_id:
638+
if group_id is not None:
648639
params['id'] = str(group_id)
649640
params['organization_id'] = self.organization_id
650-
return self.session.post(f'{self.api_url}/list_group_properties',
651-
json=payload,
641+
return self.session.get(f'{self.api_url}/list_group_properties',
652642
params=params,
653643
headers=headers)
654644

livechat/customer/web/api/v35.py

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,9 @@ def get_dynamic_configuration(self,
241241
'''
242242
if payload is None:
243243
payload = prepare_payload(locals())
244-
return self.session.post(
244+
return self.session.get(
245245
f'{self.api_url}/get_dynamic_configuration{self.query_string}',
246-
json=payload,
246+
params=payload,
247247
headers=headers)
248248

249249
def get_configuration(self,
@@ -269,9 +269,9 @@ def get_configuration(self,
269269
'''
270270
if payload is None:
271271
payload = prepare_payload(locals())
272-
return self.session.post(
272+
return self.session.get(
273273
f'{self.api_url}/get_configuration{self.query_string}',
274-
json=payload,
274+
params=payload,
275275
headers=headers)
276276

277277
# Events
@@ -324,7 +324,7 @@ def upload_file(self,
324324
which contains a server’s response to an HTTP request. '''
325325
return self.session.post(
326326
f'{self.api_url}/upload_file{self.query_string}',
327-
content=file.read(),
327+
files=file,
328328
headers=headers)
329329

330330
def send_rich_message_postback(self,
@@ -409,9 +409,9 @@ def get_localization(self,
409409
which contains a server’s response to an HTTP request. '''
410410
if payload is None:
411411
payload = prepare_payload(locals())
412-
return self.session.post(
412+
return self.session.get(
413413
f'{self.api_url}/get_localization{self.query_string}',
414-
json=payload,
414+
params=payload,
415415
headers=headers)
416416

417417
# Properties
@@ -590,65 +590,55 @@ def delete_event_properties(self,
590590
def list_license_properties(self,
591591
namespace: str = None,
592592
name: str = None,
593-
payload: dict = None,
594593
headers: dict = None) -> httpx.Response:
595594
''' Returns the properties of a given license. It only returns the properties a Customer has access to.
596595
597596
Args:
598597
namespace (str): Property namespace to retrieve.
599598
name (str): Property name.
600-
payload (dict): Custom payload to be used as request's data.
601599
headers (dict): Custom headers to be used with session headers.
602600
They will be merged with session-level values that are set,
603601
however, these method-level parameters will not be persisted across requests.
604602
605603
Returns:
606604
httpx.Response: The Response object from `httpx` library,
607605
which contains a server’s response to an HTTP request. '''
608-
if payload is None:
609-
payload = {}
610606
params = {}
611607
if namespace:
612608
params['namespace'] = namespace
613609
if name:
614610
params['name'] = name
615611
params['organization_id'] = self.organization_id
616-
return self.session.post(f'{self.api_url}/list_license_properties',
617-
json=payload,
612+
return self.session.get(f'{self.api_url}/list_license_properties',
618613
params=params,
619614
headers=headers)
620615

621616
def list_group_properties(self,
622617
group_id: int = None,
623618
namespace: str = None,
624619
name: str = None,
625-
payload: dict = None,
626620
headers: dict = None) -> httpx.Response:
627621
''' Returns the properties of a given group. It only returns the properties a Customer has access to.
628622
Args:
629623
group_id (int): ID of the group you want to return the properties of.
630624
namespace (str): Property namespace to retrieve.
631625
name (str): Property name.
632-
payload (dict): Custom payload to be used as request's data.
633626
headers (dict): Custom headers to be used with session headers.
634627
They will be merged with session-level values that are set,
635628
however, these method-level parameters will not be persisted across requests.
636629
637630
Returns:
638631
httpx.Response: The Response object from `httpx` library,
639632
which contains a server’s response to an HTTP request. '''
640-
if payload is None:
641-
payload = {}
642633
params = {}
643634
if namespace:
644635
params['namespace'] = namespace
645636
if name:
646637
params['name'] = name
647-
if group_id:
638+
if group_id is not None:
648639
params['id'] = str(group_id)
649640
params['organization_id'] = self.organization_id
650-
return self.session.post(f'{self.api_url}/list_group_properties',
651-
json=payload,
641+
return self.session.get(f'{self.api_url}/list_group_properties',
652642
params=params,
653643
headers=headers)
654644

livechat/utils/httpx_logger.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def log_request(self, request: httpx.Request):
1919
''' Log request details. '''
2020
request_send_time = datetime.now().strftime('%Y-%m-%d, %H:%M:%S.%f')
2121
self.logger.info(
22-
f'\nREQUEST:\n {request.method} {request.url}\n PARAMS:\n {request.content.decode("utf-8")}'
22+
f'\nREQUEST:\n {request.method} {request.url}\n PARAMS:\n {request.stream.read().decode("utf-8")}'
2323
)
2424
self.logger.debug(
2525
f'\n SEND TIME: {request_send_time}\n HEADERS:\n {json.dumps(dict(request.headers.items()), indent=4)}'

0 commit comments

Comments
 (0)