MCPcopy Create free account
hub / github.com/Keeper-Security/Commander / communicate_rest

Function communicate_rest

keepercommander/api.py:876–907  ·  view source on GitHub ↗
(params, request, endpoint, *, rs_type=None, payload_version=None, timeout=None)

Source from the content-addressed store, hash-verified

874
875
876def communicate_rest(params, request, endpoint, *, rs_type=None, payload_version=None, timeout=None):
877 api_request_payload = APIRequest_pb2.ApiRequestPayload()
878 if params.session_token:
879 api_request_payload.encryptedSessionToken = utils.base64_url_decode(params.session_token)
880 if request:
881 if logging.getLogger().level <= logging.DEBUG:
882 js = google.protobuf.json_format.MessageToJson(request)
883 logging.debug('>>> [RQ] %s: %s', endpoint, js)
884 api_request_payload.payload = request.SerializeToString()
885 if isinstance(payload_version, int):
886 api_request_payload.apiVersion = payload_version
887
888 rs = rest_api.execute_rest(params.rest_context, endpoint, api_request_payload, timeout=timeout)
889 if isinstance(rs, bytes):
890 TTK.update_time_of_last_activity()
891 if rs_type:
892 proto_rs = rs_type()
893 proto_rs.ParseFromString(rs)
894 if logging.getLogger().level <= logging.DEBUG:
895 js = google.protobuf.json_format.MessageToJson(proto_rs)
896 logging.debug('>>> [RS] %s: %s', endpoint, js)
897 return proto_rs
898 else:
899 return rs
900 elif isinstance(rs, dict):
901 kae = KeeperApiError(rs['error'], rs['message'])
902 kae.additional_info = rs.get('additional_info')
903
904 if kae.result_code == 'session_token_expired':
905 params.session_token = None
906 raise kae
907 raise KeeperApiError('Error', endpoint)
908
909
910def communicate(params, request, retry_on_throttle=True):

Callers 11

get_share_objectsFunction · 0.85
load_user_public_keysFunction · 0.85
get_record_v3_responseFunction · 0.85
add_record_audit_dataFunction · 0.85
add_record_v3Function · 0.85
get_record_sharesFunction · 0.85
send_keepaliveFunction · 0.85

Calls 4

KeeperApiErrorClass · 0.85
debugMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected