+ringcentral
+ + + + + + +1from .sdk import SDK
+diff --git a/.ackrc b/.ackrc deleted file mode 100644 index c3798d9..0000000 --- a/.ackrc +++ /dev/null @@ -1,2 +0,0 @@ ---ignore-dir=venv ---ignore-dir=ringcentral.egg-info diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index a11c4d2..0000000 --- a/.coveragerc +++ /dev/null @@ -1,13 +0,0 @@ -[run] -omit = - *test.py - */test/* - */python?.?/* - *site-packages* - -[report] -exclude_lines = - pragma: no cover - def __repr__ - raise NotImplementedError - if __name__ == .__main__.: \ No newline at end of file diff --git a/.coveralls.yml b/.coveralls.yml deleted file mode 100644 index f7bb8d7..0000000 --- a/.coveralls.yml +++ /dev/null @@ -1,2 +0,0 @@ -parallel: true -service_name: travis-ci \ No newline at end of file diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0e6ac38..0000000 --- a/.editorconfig +++ /dev/null @@ -1,21 +0,0 @@ -# editorconfig.org -root = true - -[*] -indent_style = space -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = false - -[*.py] -indent_size = 4 - -[*.js] -indent_size = 4 - -[*.{json,yml}] -indent_size = 2 - -[Makefile] -indent_style = tab \ No newline at end of file diff --git a/.env.sample b/.env.sample deleted file mode 100644 index 435e48c..0000000 --- a/.env.sample +++ /dev/null @@ -1,6 +0,0 @@ -RINGCENTRAL_SERVER_URL=https://platform.ringcentral.com -RINGCENTRAL_CLIENT_ID= -RINGCENTRAL_CLIENT_SECRET= -RINGCENTRAL_JWT_TOKEN= -RINGCENTRAL_SENDER= -RINGCENTRAL_RECEIVER= diff --git a/.github/workflows/release-github-pages.yml b/.github/workflows/release-github-pages.yml deleted file mode 100644 index 645799a..0000000 --- a/.github/workflows/release-github-pages.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Generate Python Docs - -on: - push: - branches: - - master -permissions: - contents: write -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["3.11"] - - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version}} - uses: actions/setup-python@v3 - with: - python-version: ${{ matrix.python-version }} - - - name: Generate Docs - run: | - #Create virtual environment - python -m venv venv - #Activate virtual environment - source venv/bin/activate - #Install dependencies - python -m pip install python-dotenv - pip install -r requirements.txt - pip install -r requirements-dev.txt - pdoc --output ./docs ./ringcentral - - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./docs diff --git a/.github/workflows/release-with-tag.yml b/.github/workflows/release-with-tag.yml deleted file mode 100644 index 07c3d47..0000000 --- a/.github/workflows/release-with-tag.yml +++ /dev/null @@ -1,45 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python - -name: Release - -on: - push: - tags: - - "*" - -jobs: - release: - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["3.11"] - - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version}} - uses: actions/setup-python@v3 - with: - python-version: ${{ matrix.python-version }} - - - name: Test with pytest - run: | - #Create virtual environment - python -m venv venv - #Activate virtual environment - source venv/bin/activate - #Install dependencies - pip install -r requirements.txt - pip install -r requirements-dev.txt - #Run unit tests - coverage run -m unittest discover . --pattern '*test.py' - coverage report - - name: release - env: - TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} - TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - run: | - python3 -m pip install --upgrade build - python3 -m pip install --upgrade twine - python -m build - twine upload dist/* diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml deleted file mode 100644 index 5929035..0000000 --- a/.github/workflows/unit-tests.yml +++ /dev/null @@ -1,33 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python - -name: Unit Tests - -on: [push, pull_request] - -jobs: - test: - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["3.11"] - - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version}} - uses: actions/setup-python@v3 - with: - python-version: ${{ matrix.python-version }} - - - name: Test with pytest - run: | - #Create virtual environment - python -m venv venv - #Activate virtual environment - source venv/bin/activate - #Install dependencies - pip install -r requirements.txt - pip install -r requirements-dev.txt - #Run unit tests - coverage run -m unittest discover . --pattern '*test.py' - coverage report diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 5485569..0000000 --- a/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -*.pyc -.idea -.coverage -.ve* -_cache -credentials.ini -dist -*.egg-info -venv -.env diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index da8c007..0000000 --- a/LICENSE.md +++ /dev/null @@ -1,17 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2015 RingCentral, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 66cabd6..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1,2 +0,0 @@ -include requirements.txt -include README.md \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 68d2a2a..0000000 --- a/README.md +++ /dev/null @@ -1,91 +0,0 @@ -# RingCentral SDK for Python - -[](https://github.com/ringcentral/ringcentral-python/actions/workflows/unit-tests.yml) -[](https://coveralls.io/github/ringcentral/ringcentral-python?branch=master) -[](https://ringcentral.github.io/ringcentral-python/ringcentral.html) -[](https://twitter.com/RingCentralDevs) - -__[RingCentral Developers](https://developer.ringcentral.com/api-products)__ is a cloud communications platform which can be accessed via more than 70 APIs. The platform's main capabilities include technologies that enable: -__[Voice](https://developer.ringcentral.com/api-products/voice), [SMS/MMS](https://developer.ringcentral.com/api-products/sms), [Fax](https://developer.ringcentral.com/api-products/fax), [Glip Team Messaging](https://developer.ringcentral.com/api-products/team-messaging), [Data and Configurations](https://developer.ringcentral.com/api-products/configuration)__. - -## Additional resources - -* [RingCentral API Reference](https://developer.ringcentral.com/api-docs/latest/index.html) - an interactive reference for the RingCentral API that allows developers to make API calls with no code. -* [Document](https://ringcentral.github.io/ringcentral-python/ringcentral.html) - an interactive reference for the SDK code documentation. - - -## Important change logs - -- In version 0.9.0, we removed PubNub support. If you need subscription to events, please use WebSocket instead. Please refer to [demo_subscription.py](./ringcentral/demos/demo_subscription.py) for more information. - - If you still need PubNub support, please use version 0.8.x. - - -## Installation - -This SDK is tested against Python 3.7 so we recommend [installing using it with Python 3.7 or newer](https://www.python.org/downloads/) - -```sh -$ pip3 install ringcentral -``` - -## Usage - -Take a look at a sample code. - -```py -from ringcentral import SDK - -sdk = SDK('CLIENT_ID', 'CLIENT_SECRET', 'SERVER') -platform = sdk.platform() -platform.login(jwt='JWT_TOKEN') -res = platform.get('/account/~/extension/~') -print('User loaded ' + res.json().name) -``` - - -## Subscribing for server events - -Please refer to [demo_subscription.py](./ringcentral/demos/demo_subscription.py) - - -## Send sms -```py -from ringcentral import SDK - -database = [] -database.append({"Customer":"Tyler","Payment":"Due","PhoneNumber":"xxxxxxxxxxx"}) -database.append({"Customer":"Chen","Payment":"Paid","PhoneNumber":"xxxxxxxxxxx"}) -database.append({"Customer":"Anne","Payment":"Paid","PhoneNumber":"xxxxxxxxxxx"}) -database.append({"Customer":"Brown","Payment":"Due","PhoneNumber":"xxxxxxxxxxx"}) -database.append({"Customer":"Peter","Payment":"Due","PhoneNumber":"xxxxxxxxxxx"}) -database.append({"Customer":"White","Payment":"Paid","PhoneNumber":"xxxxxxxxxxx"}) -database.append({"Customer":"Lisa","Payment":"Paid","PhoneNumber":"xxxxxxxxxxx"}) -database.append({"Customer":"Dan","Payment":"Paid","PhoneNumber":"xxxxxxxxxxx"}) -database.append({"Customer":"Stephanie","Payment":"Due","PhoneNumber":"xxxxxxxxxxx"}) -database.append({"Customer":"Lukas","Payment":"Due","PhoneNumber":"xxxxxxxxxxx"}) - -sdk = SDK('CLIENT_ID', 'CLIENT_SECRET', 'SERVER') -platform = sdk.platform() -platform.login(jwt='JWT_TOKEN') - -def sendSMS(message, number): - params = {'from': {'phoneNumber': 'USERNAME'},'to': [{'phoneNumber': number}],'text': message} - response = platform.post('/restapi/v1.0/account/~/extension/~/sms', params) - print('Sent payment reminder to ' + number) - -def main(): - for i in range(len(database)): - customer = database[i] - if customer['Payment'] is "Due": - sendSMS("Hi " + customer['Customer'] + ". Your payment is due.", customer['PhoneNumber']) - time.sleep(5) - print("Send payment reminder done.") - -if __name__ == '__main__': - main() -``` - - -## dev-notes - -https://github.com/ringcentral/ringcentral-python/blob/master/dev-notes.md diff --git a/dev-notes.md b/dev-notes.md deleted file mode 100644 index 87a0e4d..0000000 --- a/dev-notes.md +++ /dev/null @@ -1,88 +0,0 @@ -## Install Python - -The latest version at the time that I write this doc is 3.11.3 - -## Create virtual environment - -Only do it if you have not done it before: - -``` -python -m venv venv -``` - -## Activate virtual environment - -``` -source venv/bin/activate -``` - -## Install dependencies - -``` -pip install -r requirements.txt -pip install -r requirements-dev.txt -``` - -## Run unit tests - -``` -python -m unittest discover . --pattern '*test.py' -``` -## Run unit tests with coverage report - -``` -coverage run -m unittest discover . --pattern '*test.py' - -coverage report -``` -Coverage Report Supported On -
1from .sdk import SDK
+1import urllib + 2import base64 + 3import sys + 4import re + 5 + 6 + 7def is_third(): + 8 return sys.version_info >= (3, 0) + 9 +10 +11def urlencode(s): +12 """ +13 Encodes the given dictionary `s` into a URL-encoded string. +14 +15 Parameters: +16 s (dict): A dictionary containing the key-value pairs to be encoded. +17 +18 Returns: +19 str: A URL-encoded string representing the input dictionary. +20 +21 Raises: +22 Exception: If neither `urllib.urlencode` nor `urllib.parse.urlencode` is available. +23 +24 Note: +25 This function checks for the presence of `urllib.urlencode` and `urllib.parse.urlencode` +26 to ensure compatibility across Python 2 and Python 3. +27 """ +28 if hasattr(urllib, 'urlencode'): +29 return urllib.urlencode(s) +30 elif hasattr(urllib, 'parse'): +31 return urllib.parse.urlencode(s) +32 else: +33 raise Exception("No urlencode") +34 +35 +36def iterator(thing): +37 """ +38 Returns an iterator over key-value pairs of `thing`. +39 +40 If `thing` has an `iteritems` method, it is used; otherwise, `thing.items()` is iterated over. +41 +42 Parameters: +43 thing: An iterable object. +44 +45 Returns: +46 iterator: An iterator over the key-value pairs of `thing`. +47 """ +48 return thing.iteritems() if hasattr(thing, 'iteritems') else iter(thing.items()) +49 +50 +51def base64encode(s): +52 """ +53 Encodes the input string `s` into base64 format. +54 +55 Parameters: +56 s (str): The string to be encoded. +57 +58 Returns: +59 str: The base64 encoded string. +60 +61 """ +62 # Use Python 3 compatible base64 encoding if detected, otherwise use default encoding +63 if is_third(): +64 return str(base64.b64encode(bytes(s, 'utf8')), 'utf8') +65 else: +66 return base64.b64encode(s) +67 +68 +69def tostr(s): +70 if is_third(): +71 return str(s, 'utf8') +72 else: +73 return str(s) +74 +75 +76def clean_decrypted(s): +77 """ +78 Cleans the decrypted string `s` by removing specific control characters. +79 +80 Parameters: +81 s (str): The decrypted string to be cleaned. +82 +83 Returns: +84 str: The cleaned decrypted string. +85 """ +86 if is_third(): +87 return re.sub(r"[\u0001-\u0010]", '', s).strip() +88 else: +89 return s.replace('\x05', '') +
12def urlencode(s): +13 """ +14 Encodes the given dictionary `s` into a URL-encoded string. +15 +16 Parameters: +17 s (dict): A dictionary containing the key-value pairs to be encoded. +18 +19 Returns: +20 str: A URL-encoded string representing the input dictionary. +21 +22 Raises: +23 Exception: If neither `urllib.urlencode` nor `urllib.parse.urlencode` is available. +24 +25 Note: +26 This function checks for the presence of `urllib.urlencode` and `urllib.parse.urlencode` +27 to ensure compatibility across Python 2 and Python 3. +28 """ +29 if hasattr(urllib, 'urlencode'): +30 return urllib.urlencode(s) +31 elif hasattr(urllib, 'parse'): +32 return urllib.parse.urlencode(s) +33 else: +34 raise Exception("No urlencode") +
Encodes the given dictionary s into a URL-encoded string.
Parameters: + s (dict): A dictionary containing the key-value pairs to be encoded.
+ +Returns: + str: A URL-encoded string representing the input dictionary.
+ +Raises:
+ Exception: If neither urllib.urlencode nor urllib.parse.urlencode is available.
Note:
+ This function checks for the presence of urllib.urlencode and urllib.parse.urlencode
+ to ensure compatibility across Python 2 and Python 3.
37def iterator(thing): +38 """ +39 Returns an iterator over key-value pairs of `thing`. +40 +41 If `thing` has an `iteritems` method, it is used; otherwise, `thing.items()` is iterated over. +42 +43 Parameters: +44 thing: An iterable object. +45 +46 Returns: +47 iterator: An iterator over the key-value pairs of `thing`. +48 """ +49 return thing.iteritems() if hasattr(thing, 'iteritems') else iter(thing.items()) +
Returns an iterator over key-value pairs of thing.
If thing has an iteritems method, it is used; otherwise, thing.items() is iterated over.
Parameters: + thing: An iterable object.
+ +Returns:
+ iterator: An iterator over the key-value pairs of thing.
52def base64encode(s): +53 """ +54 Encodes the input string `s` into base64 format. +55 +56 Parameters: +57 s (str): The string to be encoded. +58 +59 Returns: +60 str: The base64 encoded string. +61 +62 """ +63 # Use Python 3 compatible base64 encoding if detected, otherwise use default encoding +64 if is_third(): +65 return str(base64.b64encode(bytes(s, 'utf8')), 'utf8') +66 else: +67 return base64.b64encode(s) +
Encodes the input string s into base64 format.
Parameters: + s (str): The string to be encoded.
+ +Returns: + str: The base64 encoded string.
+77def clean_decrypted(s): +78 """ +79 Cleans the decrypted string `s` by removing specific control characters. +80 +81 Parameters: +82 s (str): The decrypted string to be cleaned. +83 +84 Returns: +85 str: The cleaned decrypted string. +86 """ +87 if is_third(): +88 return re.sub(r"[\u0001-\u0010]", '', s).strip() +89 else: +90 return s.replace('\x05', '') +
Cleans the decrypted string s by removing specific control characters.
Parameters: + s (str): The decrypted string to be cleaned.
+ +Returns: + str: The cleaned decrypted string.
+1class ApiException(Exception): + 2 def __init__(self, api_response, previous=None): + 3 self.__apiResponse = api_response + 4 + 5 message = previous.message if previous and hasattr(previous, 'message') else 'Unknown error' + 6 status = 0 # previous.status if previous else 0 + 7 + 8 if api_response: + 9 +10 if api_response.error(): +11 message = api_response.error() +12 +13 if api_response.response() and api_response.response().status_code: +14 status = api_response.response().status_code +15 +16 super(ApiException, self).__init__(message) +17 +18 def api_response(self): +19 return self.__apiResponse +
3class ApiException(Exception): + 4 def __init__(self, api_response, previous=None): + 5 self.__apiResponse = api_response + 6 + 7 message = previous.message if previous and hasattr(previous, 'message') else 'Unknown error' + 8 status = 0 # previous.status if previous else 0 + 9 +10 if api_response: +11 +12 if api_response.error(): +13 message = api_response.error() +14 +15 if api_response.response() and api_response.response().status_code: +16 status = api_response.response().status_code +17 +18 super(ApiException, self).__init__(message) +19 +20 def api_response(self): +21 return self.__apiResponse +
Common base class for all non-exit exceptions.
+4 def __init__(self, api_response, previous=None): + 5 self.__apiResponse = api_response + 6 + 7 message = previous.message if previous and hasattr(previous, 'message') else 'Unknown error' + 8 status = 0 # previous.status if previous else 0 + 9 +10 if api_response: +11 +12 if api_response.error(): +13 message = api_response.error() +14 +15 if api_response.response() and api_response.response().status_code: +16 status = api_response.response().status_code +17 +18 super(ApiException, self).__init__(message) +
1import unittest + 2 + 3from ..test import TestCase + 4from .api_response import ApiResponse + 5from .api_response_test import create_response + 6from .api_exception import ApiException + 7 + 8json_headers = {'Content-Type': 'application/json'} + 9 +10 +11class TestApiException(TestCase): +12 def test_simple(self): +13 api_response = ApiResponse(response=create_response('{"error_description": "foo"}', 400, json_headers)) +14 ex = ApiException(api_response) +15 self.assertIn('foo', str(ex)) +16 +17 api_response = ApiResponse(response=create_response('{"description": "foo"}', 400, json_headers)) +18 ex = ApiException(api_response) +19 self.assertIn('foo', str(ex)) +20 +21 api_response = ApiResponse(response=create_response('{"message": "foo"}', 400, json_headers)) +22 ex = ApiException(api_response) +23 self.assertIn('foo', str(ex)) +24 +25 +26if __name__ == '__main__': +27 unittest.main() +
12class TestApiException(TestCase): +13 def test_simple(self): +14 api_response = ApiResponse(response=create_response('{"error_description": "foo"}', 400, json_headers)) +15 ex = ApiException(api_response) +16 self.assertIn('foo', str(ex)) +17 +18 api_response = ApiResponse(response=create_response('{"description": "foo"}', 400, json_headers)) +19 ex = ApiException(api_response) +20 self.assertIn('foo', str(ex)) +21 +22 api_response = ApiResponse(response=create_response('{"message": "foo"}', 400, json_headers)) +23 ex = ApiException(api_response) +24 self.assertIn('foo', str(ex)) +
A class whose instances are single test cases.
+ +By default, the test code itself should be placed in a method named +'runTest'.
+ +If the fixture may be used for many test cases, create as +many test methods as are needed. When instantiating such a TestCase +subclass, specify in the constructor arguments the name of the test method +that the instance is to execute.
+ +Test authors should subclass TestCase for their own tests. Construction +and deconstruction of the test's environment ('fixture') can be +implemented by overriding the 'setUp' and 'tearDown' methods respectively.
+ +If it is necessary to override the __init__ method, the base class +__init__ method must always be called. It is important that subclasses +should not change the signature of their __init__ method, since instances +of the classes are instantiated automatically by parts of the framework +in order to be run.
+ +When subclassing TestCase, you can set these attributes:
+ +13 def test_simple(self): +14 api_response = ApiResponse(response=create_response('{"error_description": "foo"}', 400, json_headers)) +15 ex = ApiException(api_response) +16 self.assertIn('foo', str(ex)) +17 +18 api_response = ApiResponse(response=create_response('{"description": "foo"}', 400, json_headers)) +19 ex = ApiException(api_response) +20 self.assertIn('foo', str(ex)) +21 +22 api_response = ApiResponse(response=create_response('{"message": "foo"}', 400, json_headers)) +23 ex = ApiException(api_response) +24 self.assertIn('foo', str(ex)) +
1# !/usr/bin/env python + 2# encoding: utf-8 + 3import json + 4import requests + 5from email.feedparser import FeedParser + 6from .json_object import * + 7from ..core import is_third + 8 + 9def get_prepared_request_details(request): + 10 if request is None: + 11 return "The request is None." + 12 + 13 try: + 14 method = request.method or "Unknown Method" + 15 url = request.url or "Unknown URL" + 16 headers = dict(request.headers) if request.headers else {} + 17 details = [ + 18 f"Method: {method}", + 19 f"URL: {url}", + 20 f"Headers: {headers}" + 21 ] + 22 return "\n".join(details) + 23 except Exception as e: + 24 return f"Error generating request details: {str(e)}" + 25 + 26 + 27class ApiResponse: + 28 def __init__(self, request=None, response=None): + 29 self._request = request + 30 self._response = response + 31 + 32 def ok(self): + 33 return self._response.ok + 34 + 35 def raw(self): + 36 return self._response.raw + 37 + 38 def body(self): + 39 return self._response.content + 40 + 41 def text(self): + 42 return self._response.text + 43 + 44 def json_dict(self): + 45 if not self._is_content_type('application/json'): + 46 raise Exception('Response is not JSON') + 47 + 48 return self._response.json() + 49 + 50 def json(self): + 51 return unfold(self._response.json()) + 52 + 53 def multipart(self): + 54 if not self._is_content_type('multipart/mixed'): + 55 raise Exception('Response is not Batch (Multipart)') + 56 + 57 parts = self._break_into_parts() + 58 + 59 if len(parts) < 1: + 60 raise Exception("Malformed Batch Response (not enough parts)") # sic! not specific extension + 61 + 62 statuses = json.loads(parts[0].get_payload()) + 63 + 64 if len(statuses["response"]) != len(parts) - 1: + 65 raise Exception("Malformed Batch Response (not-consistent number of parts)") + 66 + 67 responses = [] + 68 + 69 for response, payload in zip(statuses["response"], parts[1:]): + 70 res = create_response(payload, response['status']) + 71 + 72 responses.append(ApiResponse(response=res)) + 73 + 74 return responses + 75 + 76 def error(self): + 77 + 78 if self._response is None or self.ok(): + 79 return None + 80 + 81 message = 'HTTP ' + str(self._response.status_code) + ' ' + self._response.text + 82 + 83 if self._request is not None: + 84 message = message + ' (request details: ' + get_prepared_request_details(self._request) + ')' + 85 + 86 return message + 87 + 88 def request(self): + 89 return self._request + 90 + 91 def response(self): + 92 return self._response + 93 + 94 def _is_content_type(self, content_type): + 95 return self._get_content_type().lower().find(content_type) >= 0 + 96 + 97 def _get_content_type(self): + 98 return self._response.headers.get('Content-Type') or '' + 99 +100 def _break_into_parts(self): +101 p = FeedParser() +102 +103 for h in self._response.headers: +104 p.feed(h + ':' + self._response.headers[h] + "\r\n") +105 +106 p.feed("\r\n") +107 p.feed(self.text()) +108 +109 msg = p.close() +110 +111 parts = msg.get_payload() +112 +113 return parts +114 +115 +116def create_response(payload, status): +117 res = requests.Response() +118 res.headers = dict(payload) +119 if is_third(): +120 res._content = bytes(payload.get_payload(), 'utf8') +121 res.encoding = 'utf8' +122 else: +123 res._content = str(payload.get_payload()) +124 res.status_code = status +125 return res +
10def get_prepared_request_details(request): +11 if request is None: +12 return "The request is None." +13 +14 try: +15 method = request.method or "Unknown Method" +16 url = request.url or "Unknown URL" +17 headers = dict(request.headers) if request.headers else {} +18 details = [ +19 f"Method: {method}", +20 f"URL: {url}", +21 f"Headers: {headers}" +22 ] +23 return "\n".join(details) +24 except Exception as e: +25 return f"Error generating request details: {str(e)}" +
28class ApiResponse: + 29 def __init__(self, request=None, response=None): + 30 self._request = request + 31 self._response = response + 32 + 33 def ok(self): + 34 return self._response.ok + 35 + 36 def raw(self): + 37 return self._response.raw + 38 + 39 def body(self): + 40 return self._response.content + 41 + 42 def text(self): + 43 return self._response.text + 44 + 45 def json_dict(self): + 46 if not self._is_content_type('application/json'): + 47 raise Exception('Response is not JSON') + 48 + 49 return self._response.json() + 50 + 51 def json(self): + 52 return unfold(self._response.json()) + 53 + 54 def multipart(self): + 55 if not self._is_content_type('multipart/mixed'): + 56 raise Exception('Response is not Batch (Multipart)') + 57 + 58 parts = self._break_into_parts() + 59 + 60 if len(parts) < 1: + 61 raise Exception("Malformed Batch Response (not enough parts)") # sic! not specific extension + 62 + 63 statuses = json.loads(parts[0].get_payload()) + 64 + 65 if len(statuses["response"]) != len(parts) - 1: + 66 raise Exception("Malformed Batch Response (not-consistent number of parts)") + 67 + 68 responses = [] + 69 + 70 for response, payload in zip(statuses["response"], parts[1:]): + 71 res = create_response(payload, response['status']) + 72 + 73 responses.append(ApiResponse(response=res)) + 74 + 75 return responses + 76 + 77 def error(self): + 78 + 79 if self._response is None or self.ok(): + 80 return None + 81 + 82 message = 'HTTP ' + str(self._response.status_code) + ' ' + self._response.text + 83 + 84 if self._request is not None: + 85 message = message + ' (request details: ' + get_prepared_request_details(self._request) + ')' + 86 + 87 return message + 88 + 89 def request(self): + 90 return self._request + 91 + 92 def response(self): + 93 return self._response + 94 + 95 def _is_content_type(self, content_type): + 96 return self._get_content_type().lower().find(content_type) >= 0 + 97 + 98 def _get_content_type(self): + 99 return self._response.headers.get('Content-Type') or '' +100 +101 def _break_into_parts(self): +102 p = FeedParser() +103 +104 for h in self._response.headers: +105 p.feed(h + ':' + self._response.headers[h] + "\r\n") +106 +107 p.feed("\r\n") +108 p.feed(self.text()) +109 +110 msg = p.close() +111 +112 parts = msg.get_payload() +113 +114 return parts +
54 def multipart(self): +55 if not self._is_content_type('multipart/mixed'): +56 raise Exception('Response is not Batch (Multipart)') +57 +58 parts = self._break_into_parts() +59 +60 if len(parts) < 1: +61 raise Exception("Malformed Batch Response (not enough parts)") # sic! not specific extension +62 +63 statuses = json.loads(parts[0].get_payload()) +64 +65 if len(statuses["response"]) != len(parts) - 1: +66 raise Exception("Malformed Batch Response (not-consistent number of parts)") +67 +68 responses = [] +69 +70 for response, payload in zip(statuses["response"], parts[1:]): +71 res = create_response(payload, response['status']) +72 +73 responses.append(ApiResponse(response=res)) +74 +75 return responses +
77 def error(self): +78 +79 if self._response is None or self.ok(): +80 return None +81 +82 message = 'HTTP ' + str(self._response.status_code) + ' ' + self._response.text +83 +84 if self._request is not None: +85 message = message + ' (request details: ' + get_prepared_request_details(self._request) + ')' +86 +87 return message +
117def create_response(payload, status): +118 res = requests.Response() +119 res.headers = dict(payload) +120 if is_third(): +121 res._content = bytes(payload.get_payload(), 'utf8') +122 res.encoding = 'utf8' +123 else: +124 res._content = str(payload.get_payload()) +125 res.status_code = status +126 return res +
1import unittest + 2 + 3from ..test import TestCase + 4from ..core import is_third + 5from .api_response import ApiResponse + 6from requests import Response + 7 + 8multipart_headers = {'Content-Type': 'multipart/mixed; boundary=Boundary_1245_945802293_1394135045248'} + 9 + 10 + 11class TestApiResponse(TestCase): + 12 def test_multipart(self): + 13 response = "--Boundary_1245_945802293_1394135045248\n" + \ + 14 "Content-Type: application/json\r\n" + \ + 15 "\r\n" + \ + 16 "{\n" + \ + 17 " \"response\" : [ {\n" + \ + 18 " \"status\" : 200\n" + \ + 19 " }, {\n" + \ + 20 " \"status\" : 200\n" + \ + 21 " } ]\n" + \ + 22 "}\n" + \ + 23 "--Boundary_1245_945802293_1394135045248\n" + \ + 24 "Content-Type: application/json\n" + \ + 25 "\n" + \ + 26 "{\n" + \ + 27 " \"foo\" : \"bar\"\n" + \ + 28 "}\n" + \ + 29 "--Boundary_1245_945802293_1394135045248\n" + \ + 30 "Content-Type: application/json\n" + \ + 31 "\n" + \ + 32 "{\n" + \ + 33 " \"baz\" : \"qux\"\n" + \ + 34 "}\n" + \ + 35 "--Boundary_1245_945802293_1394135045248--\n" + 36 + 37 r = ApiResponse(response=create_response(response, 207, multipart_headers)) + 38 + 39 self.assertEqual(2, len(r.multipart())) + 40 self.assertEqual('bar', r.multipart()[0].json().foo) + 41 self.assertEqual('qux', r.multipart()[1].json().baz) + 42 + 43 def test_multipart_with_error(self): + 44 response = "--Boundary_1245_945802293_1394135045248\n" + \ + 45 "Content-Type: application/json\n" + \ + 46 "\n" + \ + 47 "{\n" + \ + 48 " \"response\" : [ {\n" + \ + 49 " \"status\" : 200\n" + \ + 50 " }, {\n" + \ + 51 " \"status\" : 404\n" + \ + 52 " }, {\n" + \ + 53 " \"status\" : 200\n" + \ + 54 " } ]\n" + \ + 55 "}\n" + \ + 56 "--Boundary_1245_945802293_1394135045248\n" + \ + 57 "Content-Type: application/json\n" + \ + 58 "\n" + \ + 59 "{\n" + \ + 60 " \"foo\" : \"bar\"\n" + \ + 61 "}\n" + \ + 62 "--Boundary_1245_945802293_1394135045248\n" + \ + 63 "Content-Type: application/json\n" + \ + 64 "\n" + \ + 65 "{\n" + \ + 66 " \"error_description\" : \"object not found\"\n" + \ + 67 "}\n" + \ + 68 "--Boundary_1245_945802293_1394135045248\n" + \ + 69 "Content-Type: application/json\n" + \ + 70 "\n" + \ + 71 "{\n" + \ + 72 " \"baz\" : \"qux\"\n" + \ + 73 "}\n" + \ + 74 "--Boundary_1245_945802293_1394135045248--\n" + 75 + 76 r = ApiResponse(response=create_response(response, 207, multipart_headers)) + 77 + 78 self.assertEqual('bar', r.multipart()[0].json().foo) + 79 self.assertIn('object not found', r.multipart()[1].error()) + 80 self.assertEqual('qux', r.multipart()[2].json().baz) + 81 + 82 def test_multipart_bad_response(self): + 83 response = "--Boundary_1245_945802293_1394135045248\n" + \ + 84 "Content-Type: application/json\n" + \ + 85 "\n" + \ + 86 "THIS IS JUNK AND CANNOT BE PARSED AS JSON\n" + \ + 87 "--Boundary_1245_945802293_1394135045248\n" + \ + 88 "Content-Type: application/json\n" + \ + 89 "\n" + \ + 90 "{\n" + \ + 91 " \"foo\" : \"bar\"\n" + \ + 92 "}\n" + \ + 93 "--Boundary_1245_945802293_1394135045248\n" + \ + 94 "Content-Type: application/json\n" + \ + 95 "\n" + \ + 96 "{\n" + \ + 97 " \"baz\" : \"qux\"\n" + \ + 98 "}\n" + \ + 99 "--Boundary_1245_945802293_1394135045248--\n" +100 +101 r = ApiResponse(response=create_response(response, 207, multipart_headers)) +102 +103 with self.assertRaises(Exception) as e: +104 r.multipart() +105 +106 +107# FIXME Use create response from main file api_response +108def create_response(body, status, headers=None): +109 res = Response() +110 res.headers = headers +111 if is_third(): +112 res._content = bytes(body, 'utf8') +113 res.encoding = 'utf8' +114 else: +115 res._content = body +116 res.status_code = status +117 return res +118 +119 +120if __name__ == '__main__': +121 unittest.main() +
12class TestApiResponse(TestCase): + 13 def test_multipart(self): + 14 response = "--Boundary_1245_945802293_1394135045248\n" + \ + 15 "Content-Type: application/json\r\n" + \ + 16 "\r\n" + \ + 17 "{\n" + \ + 18 " \"response\" : [ {\n" + \ + 19 " \"status\" : 200\n" + \ + 20 " }, {\n" + \ + 21 " \"status\" : 200\n" + \ + 22 " } ]\n" + \ + 23 "}\n" + \ + 24 "--Boundary_1245_945802293_1394135045248\n" + \ + 25 "Content-Type: application/json\n" + \ + 26 "\n" + \ + 27 "{\n" + \ + 28 " \"foo\" : \"bar\"\n" + \ + 29 "}\n" + \ + 30 "--Boundary_1245_945802293_1394135045248\n" + \ + 31 "Content-Type: application/json\n" + \ + 32 "\n" + \ + 33 "{\n" + \ + 34 " \"baz\" : \"qux\"\n" + \ + 35 "}\n" + \ + 36 "--Boundary_1245_945802293_1394135045248--\n" + 37 + 38 r = ApiResponse(response=create_response(response, 207, multipart_headers)) + 39 + 40 self.assertEqual(2, len(r.multipart())) + 41 self.assertEqual('bar', r.multipart()[0].json().foo) + 42 self.assertEqual('qux', r.multipart()[1].json().baz) + 43 + 44 def test_multipart_with_error(self): + 45 response = "--Boundary_1245_945802293_1394135045248\n" + \ + 46 "Content-Type: application/json\n" + \ + 47 "\n" + \ + 48 "{\n" + \ + 49 " \"response\" : [ {\n" + \ + 50 " \"status\" : 200\n" + \ + 51 " }, {\n" + \ + 52 " \"status\" : 404\n" + \ + 53 " }, {\n" + \ + 54 " \"status\" : 200\n" + \ + 55 " } ]\n" + \ + 56 "}\n" + \ + 57 "--Boundary_1245_945802293_1394135045248\n" + \ + 58 "Content-Type: application/json\n" + \ + 59 "\n" + \ + 60 "{\n" + \ + 61 " \"foo\" : \"bar\"\n" + \ + 62 "}\n" + \ + 63 "--Boundary_1245_945802293_1394135045248\n" + \ + 64 "Content-Type: application/json\n" + \ + 65 "\n" + \ + 66 "{\n" + \ + 67 " \"error_description\" : \"object not found\"\n" + \ + 68 "}\n" + \ + 69 "--Boundary_1245_945802293_1394135045248\n" + \ + 70 "Content-Type: application/json\n" + \ + 71 "\n" + \ + 72 "{\n" + \ + 73 " \"baz\" : \"qux\"\n" + \ + 74 "}\n" + \ + 75 "--Boundary_1245_945802293_1394135045248--\n" + 76 + 77 r = ApiResponse(response=create_response(response, 207, multipart_headers)) + 78 + 79 self.assertEqual('bar', r.multipart()[0].json().foo) + 80 self.assertIn('object not found', r.multipart()[1].error()) + 81 self.assertEqual('qux', r.multipart()[2].json().baz) + 82 + 83 def test_multipart_bad_response(self): + 84 response = "--Boundary_1245_945802293_1394135045248\n" + \ + 85 "Content-Type: application/json\n" + \ + 86 "\n" + \ + 87 "THIS IS JUNK AND CANNOT BE PARSED AS JSON\n" + \ + 88 "--Boundary_1245_945802293_1394135045248\n" + \ + 89 "Content-Type: application/json\n" + \ + 90 "\n" + \ + 91 "{\n" + \ + 92 " \"foo\" : \"bar\"\n" + \ + 93 "}\n" + \ + 94 "--Boundary_1245_945802293_1394135045248\n" + \ + 95 "Content-Type: application/json\n" + \ + 96 "\n" + \ + 97 "{\n" + \ + 98 " \"baz\" : \"qux\"\n" + \ + 99 "}\n" + \ +100 "--Boundary_1245_945802293_1394135045248--\n" +101 +102 r = ApiResponse(response=create_response(response, 207, multipart_headers)) +103 +104 with self.assertRaises(Exception) as e: +105 r.multipart() +
A class whose instances are single test cases.
+ +By default, the test code itself should be placed in a method named +'runTest'.
+ +If the fixture may be used for many test cases, create as +many test methods as are needed. When instantiating such a TestCase +subclass, specify in the constructor arguments the name of the test method +that the instance is to execute.
+ +Test authors should subclass TestCase for their own tests. Construction +and deconstruction of the test's environment ('fixture') can be +implemented by overriding the 'setUp' and 'tearDown' methods respectively.
+ +If it is necessary to override the __init__ method, the base class +__init__ method must always be called. It is important that subclasses +should not change the signature of their __init__ method, since instances +of the classes are instantiated automatically by parts of the framework +in order to be run.
+ +When subclassing TestCase, you can set these attributes:
+ +13 def test_multipart(self): +14 response = "--Boundary_1245_945802293_1394135045248\n" + \ +15 "Content-Type: application/json\r\n" + \ +16 "\r\n" + \ +17 "{\n" + \ +18 " \"response\" : [ {\n" + \ +19 " \"status\" : 200\n" + \ +20 " }, {\n" + \ +21 " \"status\" : 200\n" + \ +22 " } ]\n" + \ +23 "}\n" + \ +24 "--Boundary_1245_945802293_1394135045248\n" + \ +25 "Content-Type: application/json\n" + \ +26 "\n" + \ +27 "{\n" + \ +28 " \"foo\" : \"bar\"\n" + \ +29 "}\n" + \ +30 "--Boundary_1245_945802293_1394135045248\n" + \ +31 "Content-Type: application/json\n" + \ +32 "\n" + \ +33 "{\n" + \ +34 " \"baz\" : \"qux\"\n" + \ +35 "}\n" + \ +36 "--Boundary_1245_945802293_1394135045248--\n" +37 +38 r = ApiResponse(response=create_response(response, 207, multipart_headers)) +39 +40 self.assertEqual(2, len(r.multipart())) +41 self.assertEqual('bar', r.multipart()[0].json().foo) +42 self.assertEqual('qux', r.multipart()[1].json().baz) +
44 def test_multipart_with_error(self): +45 response = "--Boundary_1245_945802293_1394135045248\n" + \ +46 "Content-Type: application/json\n" + \ +47 "\n" + \ +48 "{\n" + \ +49 " \"response\" : [ {\n" + \ +50 " \"status\" : 200\n" + \ +51 " }, {\n" + \ +52 " \"status\" : 404\n" + \ +53 " }, {\n" + \ +54 " \"status\" : 200\n" + \ +55 " } ]\n" + \ +56 "}\n" + \ +57 "--Boundary_1245_945802293_1394135045248\n" + \ +58 "Content-Type: application/json\n" + \ +59 "\n" + \ +60 "{\n" + \ +61 " \"foo\" : \"bar\"\n" + \ +62 "}\n" + \ +63 "--Boundary_1245_945802293_1394135045248\n" + \ +64 "Content-Type: application/json\n" + \ +65 "\n" + \ +66 "{\n" + \ +67 " \"error_description\" : \"object not found\"\n" + \ +68 "}\n" + \ +69 "--Boundary_1245_945802293_1394135045248\n" + \ +70 "Content-Type: application/json\n" + \ +71 "\n" + \ +72 "{\n" + \ +73 " \"baz\" : \"qux\"\n" + \ +74 "}\n" + \ +75 "--Boundary_1245_945802293_1394135045248--\n" +76 +77 r = ApiResponse(response=create_response(response, 207, multipart_headers)) +78 +79 self.assertEqual('bar', r.multipart()[0].json().foo) +80 self.assertIn('object not found', r.multipart()[1].error()) +81 self.assertEqual('qux', r.multipart()[2].json().baz) +
83 def test_multipart_bad_response(self): + 84 response = "--Boundary_1245_945802293_1394135045248\n" + \ + 85 "Content-Type: application/json\n" + \ + 86 "\n" + \ + 87 "THIS IS JUNK AND CANNOT BE PARSED AS JSON\n" + \ + 88 "--Boundary_1245_945802293_1394135045248\n" + \ + 89 "Content-Type: application/json\n" + \ + 90 "\n" + \ + 91 "{\n" + \ + 92 " \"foo\" : \"bar\"\n" + \ + 93 "}\n" + \ + 94 "--Boundary_1245_945802293_1394135045248\n" + \ + 95 "Content-Type: application/json\n" + \ + 96 "\n" + \ + 97 "{\n" + \ + 98 " \"baz\" : \"qux\"\n" + \ + 99 "}\n" + \ +100 "--Boundary_1245_945802293_1394135045248--\n" +101 +102 r = ApiResponse(response=create_response(response, 207, multipart_headers)) +103 +104 with self.assertRaises(Exception) as e: +105 r.multipart() +
1#!/usr/bin/env python + 2# encoding: utf-8 + 3import json + 4import urllib + 5import requests + 6 + 7from .api_response import ApiResponse + 8from .api_exception import ApiException + 9from ..core import urlencode, iterator + 10 + 11 + 12class Client: + 13 def __init__(self): + 14 pass + 15 + 16 def send(self, request): + 17 """ + 18 Send the HTTP request and handle the response. + 19 + 20 Args: + 21 request (obj): The HTTP request object. + 22 + 23 Returns: + 24 obj: The HTTP response object. + 25 + 26 Raises: + 27 ApiException: If an error occurs during the request or response handling. + 28 """ + 29 response = None + 30 + 31 try: + 32 prepared = request + 33 if isinstance(prepared, requests.models.Request): # not a prepared request + 34 prepared = request.prepare() + 35 response = self.load_response(prepared) + 36 + 37 if response.ok(): + 38 return response + 39 else: + 40 response.response().raise_for_status() + 41 + 42 except Exception as e: + 43 if response is None: + 44 response = ApiResponse(request) + 45 + 46 raise ApiException(response, e) + 47 + 48 def load_response(self, request): + 49 # TODO Persist between requests? + 50 session = None + 51 + 52 try: + 53 session = requests.sessions.Session() + 54 response = session.send(request) + 55 session.close() + 56 + 57 return ApiResponse(request, response) + 58 + 59 except Exception: + 60 if session: + 61 session.close() + 62 raise + 63 + 64 def create_request(self, method='', url='', query_params=None, body=None, headers=None): + 65 """ + 66 Create an HTTP request object. + 67 + 68 Args: + 69 method (str): The HTTP method (e.g., GET, POST). + 70 url (str): The URL for the request. + 71 query_params (dict, optional): Dictionary containing query parameters. + 72 body (dict, optional): Request body data. + 73 headers (dict, optional): Request headers. + 74 + 75 Returns: + 76 requests.Request: The HTTP request object. + 77 + 78 """ + 79 if query_params: + 80 if type(query_params) is dict: + 81 query = "" + 82 for key, value in iter(query_params.items()): + 83 if type(value) is list: + 84 for k in value: + 85 query += ("%s=%s&" % (key, k)) + 86 else: + 87 query += ("%s=%s&" % (key, value)) + 88 query = query[:-1] + 89 else: + 90 query = urlencode(query_params) + 91 if query: + 92 url = url + ('&' if url.find('?') > 0 else '?') + query + 93 + 94 content_type = None + 95 + 96 if headers is None: + 97 headers = {} + 98 + 99 it = iterator(headers) +100 +101 for key, value in it: +102 if key.lower().find('content-type') >= 0: +103 content_type = value +104 if key.lower().find('accept') >= 0: +105 headers['Accept'] = value +106 +107 if content_type is None: +108 content_type = 'application/json' +109 headers['Content-Type'] = content_type +110 +111 if content_type.lower().find('application/json') >= 0: +112 body = json.dumps(body) if body else None +113 elif content_type.lower().find('application/x-www-form-urlencoded') >= 0: +114 body = urlencode(body) if body else None +115 +116 return requests.Request(method, url, headers=headers, data=body) +
13class Client: + 14 def __init__(self): + 15 pass + 16 + 17 def send(self, request): + 18 """ + 19 Send the HTTP request and handle the response. + 20 + 21 Args: + 22 request (obj): The HTTP request object. + 23 + 24 Returns: + 25 obj: The HTTP response object. + 26 + 27 Raises: + 28 ApiException: If an error occurs during the request or response handling. + 29 """ + 30 response = None + 31 + 32 try: + 33 prepared = request + 34 if isinstance(prepared, requests.models.Request): # not a prepared request + 35 prepared = request.prepare() + 36 response = self.load_response(prepared) + 37 + 38 if response.ok(): + 39 return response + 40 else: + 41 response.response().raise_for_status() + 42 + 43 except Exception as e: + 44 if response is None: + 45 response = ApiResponse(request) + 46 + 47 raise ApiException(response, e) + 48 + 49 def load_response(self, request): + 50 # TODO Persist between requests? + 51 session = None + 52 + 53 try: + 54 session = requests.sessions.Session() + 55 response = session.send(request) + 56 session.close() + 57 + 58 return ApiResponse(request, response) + 59 + 60 except Exception: + 61 if session: + 62 session.close() + 63 raise + 64 + 65 def create_request(self, method='', url='', query_params=None, body=None, headers=None): + 66 """ + 67 Create an HTTP request object. + 68 + 69 Args: + 70 method (str): The HTTP method (e.g., GET, POST). + 71 url (str): The URL for the request. + 72 query_params (dict, optional): Dictionary containing query parameters. + 73 body (dict, optional): Request body data. + 74 headers (dict, optional): Request headers. + 75 + 76 Returns: + 77 requests.Request: The HTTP request object. + 78 + 79 """ + 80 if query_params: + 81 if type(query_params) is dict: + 82 query = "" + 83 for key, value in iter(query_params.items()): + 84 if type(value) is list: + 85 for k in value: + 86 query += ("%s=%s&" % (key, k)) + 87 else: + 88 query += ("%s=%s&" % (key, value)) + 89 query = query[:-1] + 90 else: + 91 query = urlencode(query_params) + 92 if query: + 93 url = url + ('&' if url.find('?') > 0 else '?') + query + 94 + 95 content_type = None + 96 + 97 if headers is None: + 98 headers = {} + 99 +100 it = iterator(headers) +101 +102 for key, value in it: +103 if key.lower().find('content-type') >= 0: +104 content_type = value +105 if key.lower().find('accept') >= 0: +106 headers['Accept'] = value +107 +108 if content_type is None: +109 content_type = 'application/json' +110 headers['Content-Type'] = content_type +111 +112 if content_type.lower().find('application/json') >= 0: +113 body = json.dumps(body) if body else None +114 elif content_type.lower().find('application/x-www-form-urlencoded') >= 0: +115 body = urlencode(body) if body else None +116 +117 return requests.Request(method, url, headers=headers, data=body) +
17 def send(self, request): +18 """ +19 Send the HTTP request and handle the response. +20 +21 Args: +22 request (obj): The HTTP request object. +23 +24 Returns: +25 obj: The HTTP response object. +26 +27 Raises: +28 ApiException: If an error occurs during the request or response handling. +29 """ +30 response = None +31 +32 try: +33 prepared = request +34 if isinstance(prepared, requests.models.Request): # not a prepared request +35 prepared = request.prepare() +36 response = self.load_response(prepared) +37 +38 if response.ok(): +39 return response +40 else: +41 response.response().raise_for_status() +42 +43 except Exception as e: +44 if response is None: +45 response = ApiResponse(request) +46 +47 raise ApiException(response, e) +
Send the HTTP request and handle the response.
+ +Args: + request (obj): The HTTP request object.
+ +Returns: + obj: The HTTP response object.
+ +Raises: + ApiException: If an error occurs during the request or response handling.
+49 def load_response(self, request): +50 # TODO Persist between requests? +51 session = None +52 +53 try: +54 session = requests.sessions.Session() +55 response = session.send(request) +56 session.close() +57 +58 return ApiResponse(request, response) +59 +60 except Exception: +61 if session: +62 session.close() +63 raise +
65 def create_request(self, method='', url='', query_params=None, body=None, headers=None): + 66 """ + 67 Create an HTTP request object. + 68 + 69 Args: + 70 method (str): The HTTP method (e.g., GET, POST). + 71 url (str): The URL for the request. + 72 query_params (dict, optional): Dictionary containing query parameters. + 73 body (dict, optional): Request body data. + 74 headers (dict, optional): Request headers. + 75 + 76 Returns: + 77 requests.Request: The HTTP request object. + 78 + 79 """ + 80 if query_params: + 81 if type(query_params) is dict: + 82 query = "" + 83 for key, value in iter(query_params.items()): + 84 if type(value) is list: + 85 for k in value: + 86 query += ("%s=%s&" % (key, k)) + 87 else: + 88 query += ("%s=%s&" % (key, value)) + 89 query = query[:-1] + 90 else: + 91 query = urlencode(query_params) + 92 if query: + 93 url = url + ('&' if url.find('?') > 0 else '?') + query + 94 + 95 content_type = None + 96 + 97 if headers is None: + 98 headers = {} + 99 +100 it = iterator(headers) +101 +102 for key, value in it: +103 if key.lower().find('content-type') >= 0: +104 content_type = value +105 if key.lower().find('accept') >= 0: +106 headers['Accept'] = value +107 +108 if content_type is None: +109 content_type = 'application/json' +110 headers['Content-Type'] = content_type +111 +112 if content_type.lower().find('application/json') >= 0: +113 body = json.dumps(body) if body else None +114 elif content_type.lower().find('application/x-www-form-urlencoded') >= 0: +115 body = urlencode(body) if body else None +116 +117 return requests.Request(method, url, headers=headers, data=body) +
Create an HTTP request object.
+ +Args: + method (str): The HTTP method (e.g., GET, POST). + url (str): The URL for the request. + query_params (dict, optional): Dictionary containing query parameters. + body (dict, optional): Request body data. + headers (dict, optional): Request headers.
+ +Returns: + requests.Request: The HTTP request object.
+1import unittest + 2 + 3from ..test import TestCase + 4from .client import Client + 5 + 6body = {'foo': 'bar', 'baz': 'qux'} + 7 + 8 + 9class TestClient(TestCase): +10 def test_create_request_with_query_string(self): +11 req = Client().create_request(url='http://whatever', query_params={'foo': 'bar', 'baz': 'qux'}) +12 self.assertEqual('http://whatever?foo=bar&baz=qux', req.url) +13 +14 req = Client().create_request(url='http://whatever', query_params={'a2z':['abc','xyz']}) +15 self.assertEqual('http://whatever?a2z=abc&a2z=xyz', req.url) +16 +17 def test_create_request_encode_body_url(self): +18 r = Client().create_request(body=body, headers={'Content-Type': 'application/x-www-form-urlencoded'}) +19 self.assertEqual('foo=bar&baz=qux', r.data) +20 +21 def test_create_request_encode_body_json(self): +22 r = Client().create_request(body=body, headers={'Content-Type': 'application/json'}) +23 self.assertEqual('{"foo": "bar", "baz": "qux"}', r.data) +24 +25 def test_create_request_encode_body_json_default(self): +26 r = Client().create_request(body=body) # JSON by default +27 self.assertEqual('{"foo": "bar", "baz": "qux"}', r.data) +28 +29 def test_create_request_encode_body_alternative(self): +30 r = Client().create_request(body='foo-encoded-text', headers={'content-type': 'foo'}) +31 self.assertEqual('foo-encoded-text', r.data) +32 +33 +34if __name__ == '__main__': +35 unittest.main() +
10class TestClient(TestCase): +11 def test_create_request_with_query_string(self): +12 req = Client().create_request(url='http://whatever', query_params={'foo': 'bar', 'baz': 'qux'}) +13 self.assertEqual('http://whatever?foo=bar&baz=qux', req.url) +14 +15 req = Client().create_request(url='http://whatever', query_params={'a2z':['abc','xyz']}) +16 self.assertEqual('http://whatever?a2z=abc&a2z=xyz', req.url) +17 +18 def test_create_request_encode_body_url(self): +19 r = Client().create_request(body=body, headers={'Content-Type': 'application/x-www-form-urlencoded'}) +20 self.assertEqual('foo=bar&baz=qux', r.data) +21 +22 def test_create_request_encode_body_json(self): +23 r = Client().create_request(body=body, headers={'Content-Type': 'application/json'}) +24 self.assertEqual('{"foo": "bar", "baz": "qux"}', r.data) +25 +26 def test_create_request_encode_body_json_default(self): +27 r = Client().create_request(body=body) # JSON by default +28 self.assertEqual('{"foo": "bar", "baz": "qux"}', r.data) +29 +30 def test_create_request_encode_body_alternative(self): +31 r = Client().create_request(body='foo-encoded-text', headers={'content-type': 'foo'}) +32 self.assertEqual('foo-encoded-text', r.data) +
A class whose instances are single test cases.
+ +By default, the test code itself should be placed in a method named +'runTest'.
+ +If the fixture may be used for many test cases, create as +many test methods as are needed. When instantiating such a TestCase +subclass, specify in the constructor arguments the name of the test method +that the instance is to execute.
+ +Test authors should subclass TestCase for their own tests. Construction +and deconstruction of the test's environment ('fixture') can be +implemented by overriding the 'setUp' and 'tearDown' methods respectively.
+ +If it is necessary to override the __init__ method, the base class +__init__ method must always be called. It is important that subclasses +should not change the signature of their __init__ method, since instances +of the classes are instantiated automatically by parts of the framework +in order to be run.
+ +When subclassing TestCase, you can set these attributes:
+ +11 def test_create_request_with_query_string(self): +12 req = Client().create_request(url='http://whatever', query_params={'foo': 'bar', 'baz': 'qux'}) +13 self.assertEqual('http://whatever?foo=bar&baz=qux', req.url) +14 +15 req = Client().create_request(url='http://whatever', query_params={'a2z':['abc','xyz']}) +16 self.assertEqual('http://whatever?a2z=abc&a2z=xyz', req.url) +
1# !/usr/bin/env python + 2# encoding: utf-8 + 3from ..core import iterator + 4 + 5 + 6PYTHON_KEYWORDS = ( + 7 "and", "del", "from", "not", "while", "as", "elif", "global", "or", "with", "assert", "else", "if", "pass", "yield", + 8 "break", "except", "import", "rint", "class", "exec", "in", "raise", "continue", "finally", "is", "return", "def", + 9 "for", "lambda", "try",) +10 +11 +12class JsonObject: +13 def __init__(self): +14 pass +15 +16 +17def safe_name(n): +18 if n in PYTHON_KEYWORDS: +19 return n + "_" +20 else: +21 return n +22 +23 +24def unfold(d): +25 if isinstance(d, dict): +26 o = JsonObject() +27 for k, v in iterator(d): +28 o.__dict__[safe_name(k)] = unfold(v) +29 return o +30 elif isinstance(d, list): +31 o = [unfold(x) for x in d] +32 return o +33 else: +34 return d +
1import json + 2import requests + 3 + 4 + 5class MultipartBuilder: + 6 def __init__(self, platform): + 7 self._body = None + 8 self._contents = [] + 9 self._boundary = '' +10 self._multipart_mixed = False +11 self._platform = platform +12 +13 def set_multipart_mixed(self, multipart_mixed): +14 self._multipart_mixed = multipart_mixed +15 return self +16 +17 def set_body(self, body): +18 self._body = body +19 return self +20 +21 def body(self): +22 return self._body +23 +24 def contents(self): +25 return self._contents +26 +27 def add(self, attachment, name='attachment'): +28 """ +29 Possible attachment formats: +30 +31 1. Downloaded: ('filename.ext', urllib.urlopen('https://...').read(), 'image/png') +32 2. Local file: ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'}) +33 3. Direct local file w/o meta: open('report.xls', 'rb') +34 4. Plain text: ('report.csv', 'some,data,to,send') +35 +36 :param attachment: +37 :param name='attachment': +38 :return: +39 """ +40 self._contents.append((name, attachment)) +41 return self +42 +43 def request(self, url, method='POST'): +44 files = [('json', ('request.json', json.dumps(self._body), 'application/json'))] + self._contents +45 request = requests.Request(method, url, files=files) +46 if self._multipart_mixed: # Ref: https://github.com/requests/requests/issues/1736#issuecomment-28470217 +47 request.url = self._platform.create_url(request.url, add_server=True) # prepare requires full url +48 request = request.prepare() +49 request.headers['Content-Type'] = request.headers['Content-Type'].replace('multipart/form-data;', 'multipart/mixed;') +50 return request +
6class MultipartBuilder: + 7 def __init__(self, platform): + 8 self._body = None + 9 self._contents = [] +10 self._boundary = '' +11 self._multipart_mixed = False +12 self._platform = platform +13 +14 def set_multipart_mixed(self, multipart_mixed): +15 self._multipart_mixed = multipart_mixed +16 return self +17 +18 def set_body(self, body): +19 self._body = body +20 return self +21 +22 def body(self): +23 return self._body +24 +25 def contents(self): +26 return self._contents +27 +28 def add(self, attachment, name='attachment'): +29 """ +30 Possible attachment formats: +31 +32 1. Downloaded: ('filename.ext', urllib.urlopen('https://...').read(), 'image/png') +33 2. Local file: ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'}) +34 3. Direct local file w/o meta: open('report.xls', 'rb') +35 4. Plain text: ('report.csv', 'some,data,to,send') +36 +37 :param attachment: +38 :param name='attachment': +39 :return: +40 """ +41 self._contents.append((name, attachment)) +42 return self +43 +44 def request(self, url, method='POST'): +45 files = [('json', ('request.json', json.dumps(self._body), 'application/json'))] + self._contents +46 request = requests.Request(method, url, files=files) +47 if self._multipart_mixed: # Ref: https://github.com/requests/requests/issues/1736#issuecomment-28470217 +48 request.url = self._platform.create_url(request.url, add_server=True) # prepare requires full url +49 request = request.prepare() +50 request.headers['Content-Type'] = request.headers['Content-Type'].replace('multipart/form-data;', 'multipart/mixed;') +51 return request +
28 def add(self, attachment, name='attachment'): +29 """ +30 Possible attachment formats: +31 +32 1. Downloaded: ('filename.ext', urllib.urlopen('https://...').read(), 'image/png') +33 2. Local file: ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'}) +34 3. Direct local file w/o meta: open('report.xls', 'rb') +35 4. Plain text: ('report.csv', 'some,data,to,send') +36 +37 :param attachment: +38 :param name='attachment': +39 :return: +40 """ +41 self._contents.append((name, attachment)) +42 return self +
Possible attachment formats:
+ +44 def request(self, url, method='POST'): +45 files = [('json', ('request.json', json.dumps(self._body), 'application/json'))] + self._contents +46 request = requests.Request(method, url, files=files) +47 if self._multipart_mixed: # Ref: https://github.com/requests/requests/issues/1736#issuecomment-28470217 +48 request.url = self._platform.create_url(request.url, add_server=True) # prepare requires full url +49 request = request.prepare() +50 request.headers['Content-Type'] = request.headers['Content-Type'].replace('multipart/form-data;', 'multipart/mixed;') +51 return request +
1import unittest + 2 + 3from ..test import TestCase + 4from .multipart_builder import MultipartBuilder + 5 + 6class MockPlatform: + 7 def create_url(self, url, add_server): + 8 if add_server: + 9 return 'http://example.com/' + url +10 return url +11 +12class TestMultipartBuilder(TestCase): +13 def test_add(self): +14 mb = MultipartBuilder(MockPlatform()) +15 +16 mb.set_body({'foo': 'bar'}) +17 mb.add(('report.csv', 'some,data,to,send')) +18 +19 req = mb.request('/foo') +20 +21 self.assertEqual(mb.body(), {'foo': 'bar'}) +22 self.assertEqual(mb.contents(), [('attachment', ('report.csv', 'some,data,to,send'))]) +23 self.assertEqual(req.files, [ +24 ('json', ('request.json', '{"foo": "bar"}', 'application/json')), +25 ('attachment', ('report.csv', 'some,data,to,send')) +26 ]) +27 +28 def test_multipart_mixed(self): +29 mb = MultipartBuilder(MockPlatform()) +30 +31 mb.set_body({'foo': 'bar'}) +32 mb.add(('report.csv', 'some,data,to,send')) +33 mb.set_multipart_mixed(True) +34 +35 req = mb.request('/foo') +36 +37 self.assertTrue('multipart/mixed' in req.headers['Content-Type'], True) +38 self.assertEqual(mb.body(), {'foo': 'bar'}) +39 self.assertEqual(mb.contents(), [('attachment', ('report.csv', 'some,data,to,send'))]) +40 +41 +42if __name__ == '__main__': +43 unittest.main() +
13class TestMultipartBuilder(TestCase): +14 def test_add(self): +15 mb = MultipartBuilder(MockPlatform()) +16 +17 mb.set_body({'foo': 'bar'}) +18 mb.add(('report.csv', 'some,data,to,send')) +19 +20 req = mb.request('/foo') +21 +22 self.assertEqual(mb.body(), {'foo': 'bar'}) +23 self.assertEqual(mb.contents(), [('attachment', ('report.csv', 'some,data,to,send'))]) +24 self.assertEqual(req.files, [ +25 ('json', ('request.json', '{"foo": "bar"}', 'application/json')), +26 ('attachment', ('report.csv', 'some,data,to,send')) +27 ]) +28 +29 def test_multipart_mixed(self): +30 mb = MultipartBuilder(MockPlatform()) +31 +32 mb.set_body({'foo': 'bar'}) +33 mb.add(('report.csv', 'some,data,to,send')) +34 mb.set_multipart_mixed(True) +35 +36 req = mb.request('/foo') +37 +38 self.assertTrue('multipart/mixed' in req.headers['Content-Type'], True) +39 self.assertEqual(mb.body(), {'foo': 'bar'}) +40 self.assertEqual(mb.contents(), [('attachment', ('report.csv', 'some,data,to,send'))]) +
A class whose instances are single test cases.
+ +By default, the test code itself should be placed in a method named +'runTest'.
+ +If the fixture may be used for many test cases, create as +many test methods as are needed. When instantiating such a TestCase +subclass, specify in the constructor arguments the name of the test method +that the instance is to execute.
+ +Test authors should subclass TestCase for their own tests. Construction +and deconstruction of the test's environment ('fixture') can be +implemented by overriding the 'setUp' and 'tearDown' methods respectively.
+ +If it is necessary to override the __init__ method, the base class +__init__ method must always be called. It is important that subclasses +should not change the signature of their __init__ method, since instances +of the classes are instantiated automatically by parts of the framework +in order to be run.
+ +When subclassing TestCase, you can set these attributes:
+ +14 def test_add(self): +15 mb = MultipartBuilder(MockPlatform()) +16 +17 mb.set_body({'foo': 'bar'}) +18 mb.add(('report.csv', 'some,data,to,send')) +19 +20 req = mb.request('/foo') +21 +22 self.assertEqual(mb.body(), {'foo': 'bar'}) +23 self.assertEqual(mb.contents(), [('attachment', ('report.csv', 'some,data,to,send'))]) +24 self.assertEqual(req.files, [ +25 ('json', ('request.json', '{"foo": "bar"}', 'application/json')), +26 ('attachment', ('report.csv', 'some,data,to,send')) +27 ]) +
29 def test_multipart_mixed(self): +30 mb = MultipartBuilder(MockPlatform()) +31 +32 mb.set_body({'foo': 'bar'}) +33 mb.add(('report.csv', 'some,data,to,send')) +34 mb.set_multipart_mixed(True) +35 +36 req = mb.request('/foo') +37 +38 self.assertTrue('multipart/mixed' in req.headers['Content-Type'], True) +39 self.assertEqual(mb.body(), {'foo': 'bar'}) +40 self.assertEqual(mb.contents(), [('attachment', ('report.csv', 'some,data,to,send'))]) +
1from time import time + 2 + 3RELEASE_TIMEOUT = 10 + 4 + 5 + 6class Auth: + 7 def __init__(self): + 8 self.__remember = False + 9 + 10 self.__token_type = '' + 11 + 12 self.__access_token = '' + 13 self.__expires_in = 0 + 14 self.__expire_time = 0 + 15 + 16 self.__refresh_token = '' + 17 self.__refresh_token_expires_in = 0 + 18 self.__refresh_token_expire_time = 0 + 19 + 20 self.__scope = '' + 21 self.__owner_id = '' + 22 + 23 def set_data(self, auth_data=None): + 24 + 25 if auth_data is None: + 26 return self + 27 + 28 # Misc + 29 + 30 if 'remember' in auth_data: + 31 self.__remember = auth_data.get('remember') + 32 + 33 if 'token_type' in auth_data: + 34 self.__token_type = auth_data.get('token_type') + 35 + 36 if 'owner_id' in auth_data: + 37 self.__owner_id = auth_data.get('owner_id') + 38 + 39 if 'scope' in auth_data: + 40 self.__scope = auth_data.get('scope') + 41 + 42 # Access Token + 43 + 44 if 'access_token' in auth_data: + 45 self.__access_token = auth_data.get('access_token') + 46 + 47 if 'expires_in' in auth_data: + 48 self.__expires_in = auth_data.get('expires_in') + 49 + 50 if 'expire_time' not in auth_data and 'expires_in' in auth_data: + 51 self.__expire_time = time() + auth_data.get('expires_in') + 52 elif 'expire_time' in auth_data: + 53 self.__expire_time = auth_data.get('expire_time') + 54 + 55 # Refresh Token + 56 + 57 if 'refresh_token' in auth_data: + 58 self.__refresh_token = auth_data.get('refresh_token') + 59 + 60 if 'refresh_token_expires_in' in auth_data: + 61 self.__refresh_token_expires_in = auth_data.get('refresh_token_expires_in') + 62 + 63 if 'refresh_token_expire_time' not in auth_data and 'refresh_token_expires_in' in auth_data: + 64 self.__refresh_token_expire_time = time() + auth_data.get('refresh_token_expires_in') + 65 elif 'refresh_token_expire_time' in auth_data: + 66 self.__refresh_token_expire_time = auth_data.get('refresh_token_expire_time') + 67 + 68 return self + 69 + 70 def data(self): + 71 return { + 72 'remember': self.__remember, + 73 'token_type': self.__token_type, + 74 + 75 'access_token': self.__access_token, + 76 'expires_in': self.__expires_in, + 77 'expire_time': self.__expire_time, + 78 + 79 'refresh_token': self.__refresh_token, + 80 'refresh_token_expires_in': self.__refresh_token_expires_in, + 81 'refresh_token_expire_time': self.__refresh_token_expire_time, + 82 + 83 'scope': self.__scope, + 84 'owner_id': self.__owner_id + 85 } + 86 + 87 def reset(self): + 88 self.__remember = False + 89 + 90 self.__token_type = '' + 91 + 92 self.__access_token = '' + 93 self.__expires_in = 0 + 94 self.__expire_time = 0 + 95 + 96 self.__refresh_token = '' + 97 self.__refresh_token_expires_in = 0 + 98 self.__refresh_token_expire_time = 0 + 99 +100 self.__scope = '' +101 self.__owner_id = '' +102 +103 def access_token(self): +104 return self.__access_token +105 +106 def refresh_token(self): +107 return self.__refresh_token +108 +109 def token_type(self): +110 return self.__token_type +111 +112 def access_token_valid(self): +113 return self.__is_token_date_valid(self.data().get('expire_time')) +114 +115 def refresh_token_valid(self): +116 return self.__is_token_date_valid(self.data().get('refresh_token_expire_time')) +117 +118 @staticmethod +119 def __is_token_date_valid(token_date): +120 return token_date > time() +
7class Auth: + 8 def __init__(self): + 9 self.__remember = False + 10 + 11 self.__token_type = '' + 12 + 13 self.__access_token = '' + 14 self.__expires_in = 0 + 15 self.__expire_time = 0 + 16 + 17 self.__refresh_token = '' + 18 self.__refresh_token_expires_in = 0 + 19 self.__refresh_token_expire_time = 0 + 20 + 21 self.__scope = '' + 22 self.__owner_id = '' + 23 + 24 def set_data(self, auth_data=None): + 25 + 26 if auth_data is None: + 27 return self + 28 + 29 # Misc + 30 + 31 if 'remember' in auth_data: + 32 self.__remember = auth_data.get('remember') + 33 + 34 if 'token_type' in auth_data: + 35 self.__token_type = auth_data.get('token_type') + 36 + 37 if 'owner_id' in auth_data: + 38 self.__owner_id = auth_data.get('owner_id') + 39 + 40 if 'scope' in auth_data: + 41 self.__scope = auth_data.get('scope') + 42 + 43 # Access Token + 44 + 45 if 'access_token' in auth_data: + 46 self.__access_token = auth_data.get('access_token') + 47 + 48 if 'expires_in' in auth_data: + 49 self.__expires_in = auth_data.get('expires_in') + 50 + 51 if 'expire_time' not in auth_data and 'expires_in' in auth_data: + 52 self.__expire_time = time() + auth_data.get('expires_in') + 53 elif 'expire_time' in auth_data: + 54 self.__expire_time = auth_data.get('expire_time') + 55 + 56 # Refresh Token + 57 + 58 if 'refresh_token' in auth_data: + 59 self.__refresh_token = auth_data.get('refresh_token') + 60 + 61 if 'refresh_token_expires_in' in auth_data: + 62 self.__refresh_token_expires_in = auth_data.get('refresh_token_expires_in') + 63 + 64 if 'refresh_token_expire_time' not in auth_data and 'refresh_token_expires_in' in auth_data: + 65 self.__refresh_token_expire_time = time() + auth_data.get('refresh_token_expires_in') + 66 elif 'refresh_token_expire_time' in auth_data: + 67 self.__refresh_token_expire_time = auth_data.get('refresh_token_expire_time') + 68 + 69 return self + 70 + 71 def data(self): + 72 return { + 73 'remember': self.__remember, + 74 'token_type': self.__token_type, + 75 + 76 'access_token': self.__access_token, + 77 'expires_in': self.__expires_in, + 78 'expire_time': self.__expire_time, + 79 + 80 'refresh_token': self.__refresh_token, + 81 'refresh_token_expires_in': self.__refresh_token_expires_in, + 82 'refresh_token_expire_time': self.__refresh_token_expire_time, + 83 + 84 'scope': self.__scope, + 85 'owner_id': self.__owner_id + 86 } + 87 + 88 def reset(self): + 89 self.__remember = False + 90 + 91 self.__token_type = '' + 92 + 93 self.__access_token = '' + 94 self.__expires_in = 0 + 95 self.__expire_time = 0 + 96 + 97 self.__refresh_token = '' + 98 self.__refresh_token_expires_in = 0 + 99 self.__refresh_token_expire_time = 0 +100 +101 self.__scope = '' +102 self.__owner_id = '' +103 +104 def access_token(self): +105 return self.__access_token +106 +107 def refresh_token(self): +108 return self.__refresh_token +109 +110 def token_type(self): +111 return self.__token_type +112 +113 def access_token_valid(self): +114 return self.__is_token_date_valid(self.data().get('expire_time')) +115 +116 def refresh_token_valid(self): +117 return self.__is_token_date_valid(self.data().get('refresh_token_expire_time')) +118 +119 @staticmethod +120 def __is_token_date_valid(token_date): +121 return token_date > time() +
24 def set_data(self, auth_data=None): +25 +26 if auth_data is None: +27 return self +28 +29 # Misc +30 +31 if 'remember' in auth_data: +32 self.__remember = auth_data.get('remember') +33 +34 if 'token_type' in auth_data: +35 self.__token_type = auth_data.get('token_type') +36 +37 if 'owner_id' in auth_data: +38 self.__owner_id = auth_data.get('owner_id') +39 +40 if 'scope' in auth_data: +41 self.__scope = auth_data.get('scope') +42 +43 # Access Token +44 +45 if 'access_token' in auth_data: +46 self.__access_token = auth_data.get('access_token') +47 +48 if 'expires_in' in auth_data: +49 self.__expires_in = auth_data.get('expires_in') +50 +51 if 'expire_time' not in auth_data and 'expires_in' in auth_data: +52 self.__expire_time = time() + auth_data.get('expires_in') +53 elif 'expire_time' in auth_data: +54 self.__expire_time = auth_data.get('expire_time') +55 +56 # Refresh Token +57 +58 if 'refresh_token' in auth_data: +59 self.__refresh_token = auth_data.get('refresh_token') +60 +61 if 'refresh_token_expires_in' in auth_data: +62 self.__refresh_token_expires_in = auth_data.get('refresh_token_expires_in') +63 +64 if 'refresh_token_expire_time' not in auth_data and 'refresh_token_expires_in' in auth_data: +65 self.__refresh_token_expire_time = time() + auth_data.get('refresh_token_expires_in') +66 elif 'refresh_token_expire_time' in auth_data: +67 self.__refresh_token_expire_time = auth_data.get('refresh_token_expire_time') +68 +69 return self +
71 def data(self): +72 return { +73 'remember': self.__remember, +74 'token_type': self.__token_type, +75 +76 'access_token': self.__access_token, +77 'expires_in': self.__expires_in, +78 'expire_time': self.__expire_time, +79 +80 'refresh_token': self.__refresh_token, +81 'refresh_token_expires_in': self.__refresh_token_expires_in, +82 'refresh_token_expire_time': self.__refresh_token_expire_time, +83 +84 'scope': self.__scope, +85 'owner_id': self.__owner_id +86 } +
88 def reset(self): + 89 self.__remember = False + 90 + 91 self.__token_type = '' + 92 + 93 self.__access_token = '' + 94 self.__expires_in = 0 + 95 self.__expire_time = 0 + 96 + 97 self.__refresh_token = '' + 98 self.__refresh_token_expires_in = 0 + 99 self.__refresh_token_expire_time = 0 +100 +101 self.__scope = '' +102 self.__owner_id = '' +
1class Events: + 2 """ + 3 Events class representing various event types. + 4 + 5 Attributes: + 6 refreshSuccess (str): Represents a successful refresh event. + 7 refreshError (str): Represents an error during refresh. + 8 loginSuccess (str): Represents a successful login event. + 9 loginError (str): Represents an error during login. +10 logoutSuccess (str): Represents a successful logout event. +11 logoutError (str): Represents an error during logout. +12 """ +13 refreshSuccess = 'refreshSuccess' +14 refreshError = 'refreshError' +15 loginSuccess = 'loginSuccess' +16 loginError = 'loginError' +17 logoutSuccess = 'logoutSuccess' +18 logoutError = 'logoutError' +19 +20 def __init__(self): +21 pass +
3class Events: + 4 """ + 5 Events class representing various event types. + 6 + 7 Attributes: + 8 refreshSuccess (str): Represents a successful refresh event. + 9 refreshError (str): Represents an error during refresh. +10 loginSuccess (str): Represents a successful login event. +11 loginError (str): Represents an error during login. +12 logoutSuccess (str): Represents a successful logout event. +13 logoutError (str): Represents an error during logout. +14 """ +15 refreshSuccess = 'refreshSuccess' +16 refreshError = 'refreshError' +17 loginSuccess = 'loginSuccess' +18 loginError = 'loginError' +19 logoutSuccess = 'logoutSuccess' +20 logoutError = 'logoutError' +21 +22 def __init__(self): +23 pass +
Events class representing various event types.
+ +Attributes: + refreshSuccess (str): Represents a successful refresh event. + refreshError (str): Represents an error during refresh. + loginSuccess (str): Represents a successful login event. + loginError (str): Represents an error during login. + logoutSuccess (str): Represents a successful logout event. + logoutError (str): Represents an error during logout.
+1import sys + 2try: + 3 from urllib.parse import urlparse + 4except ImportError: + 5 from urlparse import urlparse + 6from observable import Observable + 7from functools import reduce + 8from .auth import Auth + 9from .events import Events + 10from ..core import base64encode + 11import warnings + 12 + 13ACCOUNT_ID = '~' + 14ACCOUNT_PREFIX = '/account/' + 15URL_PREFIX = '/restapi' + 16TOKEN_ENDPOINT = '/restapi/oauth/token' + 17REVOKE_ENDPOINT = '/restapi/oauth/revoke' + 18AUTHORIZE_ENDPOINT = '/restapi/oauth/authorize' + 19API_VERSION = 'v1.0' + 20ACCESS_TOKEN_TTL = 3600 # 60 minutes + 21REFRESH_TOKEN_TTL = 604800 # 1 week + 22KNOWN_PREFIXES = [ + 23 URL_PREFIX, + 24 '/rcvideo', + 25 '/video', + 26 '/webinar', + 27 '/analytics', + 28 '/ai', + 29 '/team-messaging', + 30 '/scim', + 31 '/cx/' + 32] + 33 + 34 + 35class Platform(Observable): + 36 def __init__(self, client, key='', secret='', server='', name='', version='', redirect_uri='', + 37 known_prefixes=None): + 38 + 39 Observable.__init__(self) + 40 if(server == None): + 41 raise Exception("SDK init error: RINGCENTRAL_SERVER_URL value not found.") + 42 if(key == None): + 43 raise Exception("SDK init error: RINGCENTRAL_CLIENT_ID value not found.") + 44 if(secret == None): + 45 raise Exception("SDK init error: RINGCENTRAL_CLIENT_SECRET value not found.") + 46 + 47 self._server = server + 48 self._key = key + 49 self._name = name if name else 'Unnamed' + 50 self._version = version if version else '0.0.0' + 51 self._redirect_uri = redirect_uri + 52 self._secret = secret + 53 self._client = client + 54 self._auth = Auth() + 55 self._account = ACCOUNT_ID + 56 self._known_prefixes = known_prefixes if known_prefixes else KNOWN_PREFIXES + 57 self._userAgent = ((self._name + ('/' + self._version if self._version else '') + ' ') if self._name else '') + \ + 58 sys.platform + '/VERSION' + ' ' + \ + 59 'PYTHON/VERSION ' + \ + 60 'RCPYTHONSDK/VERSION' + 61 + 62 def auth(self): + 63 return self._auth + 64 + 65 def create_url(self, url, add_server=False, add_method=None, add_token=False): + 66 """ + 67 Creates a complete URL based on the provided URL and additional parameters. + 68 + 69 Args: + 70 url (str): The base URL. + 71 add_server (bool): Whether to prepend the server URL if the provided URL doesn't contain 'http://' or 'https://'. + 72 add_method (str, optional): The HTTP method to append as a query parameter. + 73 add_token (bool): Whether to append the access token as a query parameter. + 74 + 75 Returns: + 76 str: The complete URL. + 77 + 78 Note: + 79 - If `add_server` is True and the provided URL doesn't start with 'http://' or 'https://', the server URL will be prepended. + 80 - If the provided URL doesn't contain known prefixes or 'http://' or 'https://', the URL_PREFIX and API_VERSION will be appended. + 81 - If the provided URL contains ACCOUNT_PREFIX followed by ACCOUNT_ID, it will be replaced with ACCOUNT_PREFIX and the account ID associated with the SDK instance. + 82 - If `add_method` is provided, it will be appended as a query parameter '_method'. + 83 - If `add_token` is True, the access token associated with the SDK instance will be appended as a query parameter 'access_token'. + 84 """ + 85 built_url = '' + 86 has_http = url.startswith('http://') or url.startswith('https://') + 87 + 88 if add_server and not has_http: + 89 built_url += self._server + 90 + 91 if not reduce(lambda res, prefix: res if res else url.find(prefix) == 0, self._known_prefixes, False) and not has_http: + 92 built_url += URL_PREFIX + '/' + API_VERSION + 93 + 94 if url.find(ACCOUNT_PREFIX) >= 0: + 95 built_url = built_url.replace(ACCOUNT_PREFIX + ACCOUNT_ID, ACCOUNT_PREFIX + self._account) + 96 + 97 built_url += url + 98 + 99 if add_method: +100 built_url += ('&' if built_url.find('?') >= 0 else '?') + '_method=' + add_method +101 +102 if add_token: +103 built_url += ('&' if built_url.find('?') >= 0 else '?') + 'access_token=' + self._auth.access_token() +104 +105 return built_url +106 +107 def logged_in(self): +108 """ +109 Checks if the user is currently logged in. +110 +111 Returns: +112 bool: True if the user is logged in, False otherwise. +113 +114 Note: +115 - This method checks if the access token is valid. +116 - If the access token is not valid, it attempts to refresh it by calling the `refresh` method. +117 - If any exceptions occur during the process, it returns False. +118 """ +119 try: +120 return self._auth.access_token_valid() or self.refresh() +121 except: +122 return False +123 +124 def login_url(self, redirect_uri, state='', challenge='', challenge_method='S256'): +125 """ +126 Generates the URL for initiating the login process. +127 +128 Args: +129 redirect_uri (str): The URI to which the user will be redirected after authentication. +130 state (str, optional): A value to maintain state between the request and the callback. Default is ''. +131 challenge (str, optional): The code challenge for PKCE (Proof Key for Code Exchange). Default is ''. +132 challenge_method (str, optional): The code challenge method for PKCE. Default is 'S256'. +133 +134 Returns: +135 str: The login URL. +136 """ +137 built_url = self.create_url( AUTHORIZE_ENDPOINT, add_server=True ) +138 built_url += '?response_type=code&client_id=' + self._key + '&redirect_uri=' + urllib.parse.quote(redirect_uri) +139 if state: +140 built_url += '&state=' + urllib.parse.quote(state) +141 if challenge: +142 built_url += '&code_challenge=' + urllib.parse.quote(challenge) + '&code_challenge_method=' + challenge_method +143 return built_url +144 +145 def login(self, username='', extension='', password='', code='', redirect_uri='', jwt='', verifier=''): +146 """ +147 Logs in the user using various authentication methods. +148 +149 Args: +150 username (str, optional): The username for authentication. Required if password is provided. Default is ''. +151 extension (str, optional): The extension associated with the username. Default is ''. +152 password (str, optional): The password for authentication. Required if username is provided. Default is ''. +153 code (str, optional): The authorization code for authentication. Default is ''. +154 redirect_uri (str, optional): The URI to redirect to after authentication. Default is ''. +155 jwt (str, optional): The JWT (JSON Web Token) for authentication. Default is ''. +156 verifier (str, optional): The code verifier for PKCE (Proof Key for Code Exchange). Default is ''. +157 +158 Returns: +159 Response: The response object containing authentication data if successful. +160 +161 Raises: +162 Exception: If the login attempt fails or invalid parameters are provided. +163 +164 Note: +165 - This method supports multiple authentication flows including password-based, authorization code, and JWT. +166 - It checks for the presence of required parameters and raises an exception if necessary. +167 - Deprecation warning is issued for username-password login; recommend using JWT or OAuth instead. +168 - Constructs the appropriate request body based on the provided parameters. +169 - Uses `create_url` to build the token endpoint URL, adding the server URL if required. +170 - Sends the authentication request using `_request_token`. +171 - Triggers the loginSuccess or loginError event based on the outcome of the login attempt. +172 """ +173 try: +174 if not code and not username and not password and not jwt: +175 raise Exception('Either code, or username with password, or jwt has to be provided') +176 if username and password: +177 warnings.warn("username-password login will soon be deprecated. Please use jwt or OAuth instead.") +178 if not code and not jwt: +179 body = { +180 'grant_type': 'password', +181 'username': username, +182 'password': password, +183 'access_token_ttl': ACCESS_TOKEN_TTL, +184 'refresh_token_ttl': REFRESH_TOKEN_TTL +185 } +186 if extension: +187 body['extension'] = extension +188 elif jwt: +189 body = { +190 'grant_type': 'urn:ietf:params:oauth:grant-type:jwt-bearer', +191 'assertion': jwt +192 } +193 else: +194 body = { +195 'grant_type': 'authorization_code', +196 'redirect_uri': redirect_uri if redirect_uri else self._redirect_uri, +197 'code': code +198 } +199 if verifier: +200 body['code_verifier'] = verifier +201 +202 built_url = self.create_url( TOKEN_ENDPOINT, add_server=True ) +203 response = self._request_token( built_url, body=body) +204 self._auth.set_data(response.json_dict()) +205 self.trigger(Events.loginSuccess, response) +206 return response +207 except Exception as e: +208 self.trigger(Events.loginError, e) +209 raise e +210 +211 def refresh(self): +212 """ +213 Refreshes the authentication tokens. +214 +215 Returns: +216 Response: The response object containing refreshed authentication data if successful. +217 +218 Raises: +219 Exception: If the refresh token has expired or if any error occurs during the refresh process. +220 +221 Note: +222 - This method checks if the refresh token is still valid using `_auth.refresh_token_valid()`. +223 - Constructs the request body with the grant type as 'refresh_token' and includes the refresh token. +224 - Sends the token refresh request using `_request_token` at this '/restapi/oauth/token end point. +225 - Triggers the refreshSuccess or refreshError event based on the outcome of the refresh attempt. +226 """ +227 try: +228 if not self._auth.refresh_token_valid(): +229 raise Exception('Refresh token has expired') +230 response = self._request_token(TOKEN_ENDPOINT, body={ +231 'grant_type': 'refresh_token', +232 'refresh_token': self._auth.refresh_token(), +233 'access_token_ttl': ACCESS_TOKEN_TTL, +234 'refresh_token_ttl': REFRESH_TOKEN_TTL +235 }) +236 self._auth.set_data(response.json_dict()) +237 self.trigger(Events.refreshSuccess, response) +238 return response +239 except Exception as e: +240 self.trigger(Events.refreshError, e) +241 raise e +242 +243 def logout(self): +244 """ +245 Logs out the user by revoking the access token. +246 +247 Returns: +248 Response: The response object containing logout confirmation if successful. +249 +250 Raises: +251 Exception: If any error occurs during the logout process. +252 +253 Note: +254 - Constructs the request body with the access token to be revoked. +255 - Sends the token revoke request using `_request_token` at this /restapi/oauth/revoke end point. +256 - Resets the authentication data using `_auth.reset()` upon successful logout. +257 - Triggers the logoutSuccess or logoutError event based on the outcome of the logout attempt. +258 """ +259 try: +260 response = self._request_token(REVOKE_ENDPOINT, body={ +261 'token': self._auth.access_token() +262 }) +263 self._auth.reset() +264 self.trigger(Events.logoutSuccess, response) +265 return response +266 except Exception as e: +267 self.trigger(Events.logoutError, e) +268 raise e +269 +270 def inflate_request(self, request, skip_auth_check=False): +271 """ +272 Inflates the provided request object with necessary headers and URL modifications. +273 +274 Args: +275 request (Request): The request object to be inflated. +276 skip_auth_check (bool, optional): Whether to skip the authentication check and header addition. Default is False. +277 +278 Note: +279 - If `skip_auth_check` is False (default), it ensures authentication by calling `_ensure_authentication` and adds the 'Authorization' header. +280 - Sets the 'User-Agent' and 'X-User-Agent' headers to the value specified in `_userAgent`. +281 - Modifies the request URL using `create_url`, adding the server URL if necessary. +282 """ +283 if not skip_auth_check: +284 self._ensure_authentication() +285 request.headers['Authorization'] = self._auth_header() +286 +287 request.headers['User-Agent'] = self._userAgent +288 request.headers['X-User-Agent'] = self._userAgent +289 request.url = self.create_url(request.url, add_server=True) +290 +291 return request +292 +293 def send_request(self, request, skip_auth_check=False): +294 return self._client.send(self.inflate_request(request, skip_auth_check=skip_auth_check)) +295 +296 def get(self, url, query_params=None, headers=None, skip_auth_check=False): +297 request = self._client.create_request('GET', url, query_params=query_params, headers=headers) +298 return self.send_request(request, skip_auth_check=skip_auth_check) +299 +300 def post(self, url, body=None, query_params=None, headers=None, skip_auth_check=False): +301 request = self._client.create_request('POST', url, query_params=query_params, headers=headers, body=body) +302 return self.send_request(request, skip_auth_check=skip_auth_check) +303 +304 def put(self, url, body=None, query_params=None, headers=None, skip_auth_check=False): +305 request = self._client.create_request('PUT', url, query_params=query_params, headers=headers, body=body) +306 return self.send_request(request, skip_auth_check=skip_auth_check) +307 +308 def patch(self, url, body=None, query_params=None, headers=None, skip_auth_check=False): +309 request = self._client.create_request('PATCH', url, query_params=query_params, headers=headers, body=body) +310 return self.send_request(request, skip_auth_check=skip_auth_check) +311 +312 def delete(self, url, body=None, query_params=None, headers=None, skip_auth_check=False): +313 request = self._client.create_request('DELETE', url, query_params=query_params, headers=headers, body=body) +314 return self.send_request(request, skip_auth_check=skip_auth_check) +315 +316 def _request_token(self, path='', body=None): +317 headers = { +318 'Authorization': 'Basic ' + self._api_key(), +319 'Content-Type': 'application/x-www-form-urlencoded' +320 } +321 request = self._client.create_request('POST', path, body=body, headers=headers) +322 return self.send_request(request, skip_auth_check=True) +323 +324 def _api_key(self): +325 return base64encode(self._key + ':' + self._secret) +326 +327 def _auth_header(self): +328 return self._auth.token_type() + ' ' + self._auth.access_token() +329 +330 def _ensure_authentication(self): +331 if not self._auth.access_token_valid(): +332 self.refresh() +
36class Platform(Observable): + 37 def __init__(self, client, key='', secret='', server='', name='', version='', redirect_uri='', + 38 known_prefixes=None): + 39 + 40 Observable.__init__(self) + 41 if(server == None): + 42 raise Exception("SDK init error: RINGCENTRAL_SERVER_URL value not found.") + 43 if(key == None): + 44 raise Exception("SDK init error: RINGCENTRAL_CLIENT_ID value not found.") + 45 if(secret == None): + 46 raise Exception("SDK init error: RINGCENTRAL_CLIENT_SECRET value not found.") + 47 + 48 self._server = server + 49 self._key = key + 50 self._name = name if name else 'Unnamed' + 51 self._version = version if version else '0.0.0' + 52 self._redirect_uri = redirect_uri + 53 self._secret = secret + 54 self._client = client + 55 self._auth = Auth() + 56 self._account = ACCOUNT_ID + 57 self._known_prefixes = known_prefixes if known_prefixes else KNOWN_PREFIXES + 58 self._userAgent = ((self._name + ('/' + self._version if self._version else '') + ' ') if self._name else '') + \ + 59 sys.platform + '/VERSION' + ' ' + \ + 60 'PYTHON/VERSION ' + \ + 61 'RCPYTHONSDK/VERSION' + 62 + 63 def auth(self): + 64 return self._auth + 65 + 66 def create_url(self, url, add_server=False, add_method=None, add_token=False): + 67 """ + 68 Creates a complete URL based on the provided URL and additional parameters. + 69 + 70 Args: + 71 url (str): The base URL. + 72 add_server (bool): Whether to prepend the server URL if the provided URL doesn't contain 'http://' or 'https://'. + 73 add_method (str, optional): The HTTP method to append as a query parameter. + 74 add_token (bool): Whether to append the access token as a query parameter. + 75 + 76 Returns: + 77 str: The complete URL. + 78 + 79 Note: + 80 - If `add_server` is True and the provided URL doesn't start with 'http://' or 'https://', the server URL will be prepended. + 81 - If the provided URL doesn't contain known prefixes or 'http://' or 'https://', the URL_PREFIX and API_VERSION will be appended. + 82 - If the provided URL contains ACCOUNT_PREFIX followed by ACCOUNT_ID, it will be replaced with ACCOUNT_PREFIX and the account ID associated with the SDK instance. + 83 - If `add_method` is provided, it will be appended as a query parameter '_method'. + 84 - If `add_token` is True, the access token associated with the SDK instance will be appended as a query parameter 'access_token'. + 85 """ + 86 built_url = '' + 87 has_http = url.startswith('http://') or url.startswith('https://') + 88 + 89 if add_server and not has_http: + 90 built_url += self._server + 91 + 92 if not reduce(lambda res, prefix: res if res else url.find(prefix) == 0, self._known_prefixes, False) and not has_http: + 93 built_url += URL_PREFIX + '/' + API_VERSION + 94 + 95 if url.find(ACCOUNT_PREFIX) >= 0: + 96 built_url = built_url.replace(ACCOUNT_PREFIX + ACCOUNT_ID, ACCOUNT_PREFIX + self._account) + 97 + 98 built_url += url + 99 +100 if add_method: +101 built_url += ('&' if built_url.find('?') >= 0 else '?') + '_method=' + add_method +102 +103 if add_token: +104 built_url += ('&' if built_url.find('?') >= 0 else '?') + 'access_token=' + self._auth.access_token() +105 +106 return built_url +107 +108 def logged_in(self): +109 """ +110 Checks if the user is currently logged in. +111 +112 Returns: +113 bool: True if the user is logged in, False otherwise. +114 +115 Note: +116 - This method checks if the access token is valid. +117 - If the access token is not valid, it attempts to refresh it by calling the `refresh` method. +118 - If any exceptions occur during the process, it returns False. +119 """ +120 try: +121 return self._auth.access_token_valid() or self.refresh() +122 except: +123 return False +124 +125 def login_url(self, redirect_uri, state='', challenge='', challenge_method='S256'): +126 """ +127 Generates the URL for initiating the login process. +128 +129 Args: +130 redirect_uri (str): The URI to which the user will be redirected after authentication. +131 state (str, optional): A value to maintain state between the request and the callback. Default is ''. +132 challenge (str, optional): The code challenge for PKCE (Proof Key for Code Exchange). Default is ''. +133 challenge_method (str, optional): The code challenge method for PKCE. Default is 'S256'. +134 +135 Returns: +136 str: The login URL. +137 """ +138 built_url = self.create_url( AUTHORIZE_ENDPOINT, add_server=True ) +139 built_url += '?response_type=code&client_id=' + self._key + '&redirect_uri=' + urllib.parse.quote(redirect_uri) +140 if state: +141 built_url += '&state=' + urllib.parse.quote(state) +142 if challenge: +143 built_url += '&code_challenge=' + urllib.parse.quote(challenge) + '&code_challenge_method=' + challenge_method +144 return built_url +145 +146 def login(self, username='', extension='', password='', code='', redirect_uri='', jwt='', verifier=''): +147 """ +148 Logs in the user using various authentication methods. +149 +150 Args: +151 username (str, optional): The username for authentication. Required if password is provided. Default is ''. +152 extension (str, optional): The extension associated with the username. Default is ''. +153 password (str, optional): The password for authentication. Required if username is provided. Default is ''. +154 code (str, optional): The authorization code for authentication. Default is ''. +155 redirect_uri (str, optional): The URI to redirect to after authentication. Default is ''. +156 jwt (str, optional): The JWT (JSON Web Token) for authentication. Default is ''. +157 verifier (str, optional): The code verifier for PKCE (Proof Key for Code Exchange). Default is ''. +158 +159 Returns: +160 Response: The response object containing authentication data if successful. +161 +162 Raises: +163 Exception: If the login attempt fails or invalid parameters are provided. +164 +165 Note: +166 - This method supports multiple authentication flows including password-based, authorization code, and JWT. +167 - It checks for the presence of required parameters and raises an exception if necessary. +168 - Deprecation warning is issued for username-password login; recommend using JWT or OAuth instead. +169 - Constructs the appropriate request body based on the provided parameters. +170 - Uses `create_url` to build the token endpoint URL, adding the server URL if required. +171 - Sends the authentication request using `_request_token`. +172 - Triggers the loginSuccess or loginError event based on the outcome of the login attempt. +173 """ +174 try: +175 if not code and not username and not password and not jwt: +176 raise Exception('Either code, or username with password, or jwt has to be provided') +177 if username and password: +178 warnings.warn("username-password login will soon be deprecated. Please use jwt or OAuth instead.") +179 if not code and not jwt: +180 body = { +181 'grant_type': 'password', +182 'username': username, +183 'password': password, +184 'access_token_ttl': ACCESS_TOKEN_TTL, +185 'refresh_token_ttl': REFRESH_TOKEN_TTL +186 } +187 if extension: +188 body['extension'] = extension +189 elif jwt: +190 body = { +191 'grant_type': 'urn:ietf:params:oauth:grant-type:jwt-bearer', +192 'assertion': jwt +193 } +194 else: +195 body = { +196 'grant_type': 'authorization_code', +197 'redirect_uri': redirect_uri if redirect_uri else self._redirect_uri, +198 'code': code +199 } +200 if verifier: +201 body['code_verifier'] = verifier +202 +203 built_url = self.create_url( TOKEN_ENDPOINT, add_server=True ) +204 response = self._request_token( built_url, body=body) +205 self._auth.set_data(response.json_dict()) +206 self.trigger(Events.loginSuccess, response) +207 return response +208 except Exception as e: +209 self.trigger(Events.loginError, e) +210 raise e +211 +212 def refresh(self): +213 """ +214 Refreshes the authentication tokens. +215 +216 Returns: +217 Response: The response object containing refreshed authentication data if successful. +218 +219 Raises: +220 Exception: If the refresh token has expired or if any error occurs during the refresh process. +221 +222 Note: +223 - This method checks if the refresh token is still valid using `_auth.refresh_token_valid()`. +224 - Constructs the request body with the grant type as 'refresh_token' and includes the refresh token. +225 - Sends the token refresh request using `_request_token` at this '/restapi/oauth/token end point. +226 - Triggers the refreshSuccess or refreshError event based on the outcome of the refresh attempt. +227 """ +228 try: +229 if not self._auth.refresh_token_valid(): +230 raise Exception('Refresh token has expired') +231 response = self._request_token(TOKEN_ENDPOINT, body={ +232 'grant_type': 'refresh_token', +233 'refresh_token': self._auth.refresh_token(), +234 'access_token_ttl': ACCESS_TOKEN_TTL, +235 'refresh_token_ttl': REFRESH_TOKEN_TTL +236 }) +237 self._auth.set_data(response.json_dict()) +238 self.trigger(Events.refreshSuccess, response) +239 return response +240 except Exception as e: +241 self.trigger(Events.refreshError, e) +242 raise e +243 +244 def logout(self): +245 """ +246 Logs out the user by revoking the access token. +247 +248 Returns: +249 Response: The response object containing logout confirmation if successful. +250 +251 Raises: +252 Exception: If any error occurs during the logout process. +253 +254 Note: +255 - Constructs the request body with the access token to be revoked. +256 - Sends the token revoke request using `_request_token` at this /restapi/oauth/revoke end point. +257 - Resets the authentication data using `_auth.reset()` upon successful logout. +258 - Triggers the logoutSuccess or logoutError event based on the outcome of the logout attempt. +259 """ +260 try: +261 response = self._request_token(REVOKE_ENDPOINT, body={ +262 'token': self._auth.access_token() +263 }) +264 self._auth.reset() +265 self.trigger(Events.logoutSuccess, response) +266 return response +267 except Exception as e: +268 self.trigger(Events.logoutError, e) +269 raise e +270 +271 def inflate_request(self, request, skip_auth_check=False): +272 """ +273 Inflates the provided request object with necessary headers and URL modifications. +274 +275 Args: +276 request (Request): The request object to be inflated. +277 skip_auth_check (bool, optional): Whether to skip the authentication check and header addition. Default is False. +278 +279 Note: +280 - If `skip_auth_check` is False (default), it ensures authentication by calling `_ensure_authentication` and adds the 'Authorization' header. +281 - Sets the 'User-Agent' and 'X-User-Agent' headers to the value specified in `_userAgent`. +282 - Modifies the request URL using `create_url`, adding the server URL if necessary. +283 """ +284 if not skip_auth_check: +285 self._ensure_authentication() +286 request.headers['Authorization'] = self._auth_header() +287 +288 request.headers['User-Agent'] = self._userAgent +289 request.headers['X-User-Agent'] = self._userAgent +290 request.url = self.create_url(request.url, add_server=True) +291 +292 return request +293 +294 def send_request(self, request, skip_auth_check=False): +295 return self._client.send(self.inflate_request(request, skip_auth_check=skip_auth_check)) +296 +297 def get(self, url, query_params=None, headers=None, skip_auth_check=False): +298 request = self._client.create_request('GET', url, query_params=query_params, headers=headers) +299 return self.send_request(request, skip_auth_check=skip_auth_check) +300 +301 def post(self, url, body=None, query_params=None, headers=None, skip_auth_check=False): +302 request = self._client.create_request('POST', url, query_params=query_params, headers=headers, body=body) +303 return self.send_request(request, skip_auth_check=skip_auth_check) +304 +305 def put(self, url, body=None, query_params=None, headers=None, skip_auth_check=False): +306 request = self._client.create_request('PUT', url, query_params=query_params, headers=headers, body=body) +307 return self.send_request(request, skip_auth_check=skip_auth_check) +308 +309 def patch(self, url, body=None, query_params=None, headers=None, skip_auth_check=False): +310 request = self._client.create_request('PATCH', url, query_params=query_params, headers=headers, body=body) +311 return self.send_request(request, skip_auth_check=skip_auth_check) +312 +313 def delete(self, url, body=None, query_params=None, headers=None, skip_auth_check=False): +314 request = self._client.create_request('DELETE', url, query_params=query_params, headers=headers, body=body) +315 return self.send_request(request, skip_auth_check=skip_auth_check) +316 +317 def _request_token(self, path='', body=None): +318 headers = { +319 'Authorization': 'Basic ' + self._api_key(), +320 'Content-Type': 'application/x-www-form-urlencoded' +321 } +322 request = self._client.create_request('POST', path, body=body, headers=headers) +323 return self.send_request(request, skip_auth_check=True) +324 +325 def _api_key(self): +326 return base64encode(self._key + ':' + self._secret) +327 +328 def _auth_header(self): +329 return self._auth.token_type() + ' ' + self._auth.access_token() +330 +331 def _ensure_authentication(self): +332 if not self._auth.access_token_valid(): +333 self.refresh() +
Event system for python
+37 def __init__(self, client, key='', secret='', server='', name='', version='', redirect_uri='', +38 known_prefixes=None): +39 +40 Observable.__init__(self) +41 if(server == None): +42 raise Exception("SDK init error: RINGCENTRAL_SERVER_URL value not found.") +43 if(key == None): +44 raise Exception("SDK init error: RINGCENTRAL_CLIENT_ID value not found.") +45 if(secret == None): +46 raise Exception("SDK init error: RINGCENTRAL_CLIENT_SECRET value not found.") +47 +48 self._server = server +49 self._key = key +50 self._name = name if name else 'Unnamed' +51 self._version = version if version else '0.0.0' +52 self._redirect_uri = redirect_uri +53 self._secret = secret +54 self._client = client +55 self._auth = Auth() +56 self._account = ACCOUNT_ID +57 self._known_prefixes = known_prefixes if known_prefixes else KNOWN_PREFIXES +58 self._userAgent = ((self._name + ('/' + self._version if self._version else '') + ' ') if self._name else '') + \ +59 sys.platform + '/VERSION' + ' ' + \ +60 'PYTHON/VERSION ' + \ +61 'RCPYTHONSDK/VERSION' +
66 def create_url(self, url, add_server=False, add_method=None, add_token=False): + 67 """ + 68 Creates a complete URL based on the provided URL and additional parameters. + 69 + 70 Args: + 71 url (str): The base URL. + 72 add_server (bool): Whether to prepend the server URL if the provided URL doesn't contain 'http://' or 'https://'. + 73 add_method (str, optional): The HTTP method to append as a query parameter. + 74 add_token (bool): Whether to append the access token as a query parameter. + 75 + 76 Returns: + 77 str: The complete URL. + 78 + 79 Note: + 80 - If `add_server` is True and the provided URL doesn't start with 'http://' or 'https://', the server URL will be prepended. + 81 - If the provided URL doesn't contain known prefixes or 'http://' or 'https://', the URL_PREFIX and API_VERSION will be appended. + 82 - If the provided URL contains ACCOUNT_PREFIX followed by ACCOUNT_ID, it will be replaced with ACCOUNT_PREFIX and the account ID associated with the SDK instance. + 83 - If `add_method` is provided, it will be appended as a query parameter '_method'. + 84 - If `add_token` is True, the access token associated with the SDK instance will be appended as a query parameter 'access_token'. + 85 """ + 86 built_url = '' + 87 has_http = url.startswith('http://') or url.startswith('https://') + 88 + 89 if add_server and not has_http: + 90 built_url += self._server + 91 + 92 if not reduce(lambda res, prefix: res if res else url.find(prefix) == 0, self._known_prefixes, False) and not has_http: + 93 built_url += URL_PREFIX + '/' + API_VERSION + 94 + 95 if url.find(ACCOUNT_PREFIX) >= 0: + 96 built_url = built_url.replace(ACCOUNT_PREFIX + ACCOUNT_ID, ACCOUNT_PREFIX + self._account) + 97 + 98 built_url += url + 99 +100 if add_method: +101 built_url += ('&' if built_url.find('?') >= 0 else '?') + '_method=' + add_method +102 +103 if add_token: +104 built_url += ('&' if built_url.find('?') >= 0 else '?') + 'access_token=' + self._auth.access_token() +105 +106 return built_url +
Creates a complete URL based on the provided URL and additional parameters.
+ +Args: + url (str): The base URL. + add_server (bool): Whether to prepend the server URL if the provided URL doesn't contain 'http://' or 'https://'. + add_method (str, optional): The HTTP method to append as a query parameter. + add_token (bool): Whether to append the access token as a query parameter.
+ +Returns: + str: The complete URL.
+ +Note:
+ - If add_server is True and the provided URL doesn't start with 'http://' or 'https://', the server URL will be prepended.
+ - If the provided URL doesn't contain known prefixes or 'http://' or 'https://', the URL_PREFIX and API_VERSION will be appended.
+ - If the provided URL contains ACCOUNT_PREFIX followed by ACCOUNT_ID, it will be replaced with ACCOUNT_PREFIX and the account ID associated with the SDK instance.
+ - If add_method is provided, it will be appended as a query parameter '_method'.
+ - If add_token is True, the access token associated with the SDK instance will be appended as a query parameter 'access_token'.
108 def logged_in(self): +109 """ +110 Checks if the user is currently logged in. +111 +112 Returns: +113 bool: True if the user is logged in, False otherwise. +114 +115 Note: +116 - This method checks if the access token is valid. +117 - If the access token is not valid, it attempts to refresh it by calling the `refresh` method. +118 - If any exceptions occur during the process, it returns False. +119 """ +120 try: +121 return self._auth.access_token_valid() or self.refresh() +122 except: +123 return False +
Checks if the user is currently logged in.
+ +Returns: + bool: True if the user is logged in, False otherwise.
+ +Note:
+ - This method checks if the access token is valid.
+ - If the access token is not valid, it attempts to refresh it by calling the refresh method.
+ - If any exceptions occur during the process, it returns False.
125 def login_url(self, redirect_uri, state='', challenge='', challenge_method='S256'): +126 """ +127 Generates the URL for initiating the login process. +128 +129 Args: +130 redirect_uri (str): The URI to which the user will be redirected after authentication. +131 state (str, optional): A value to maintain state between the request and the callback. Default is ''. +132 challenge (str, optional): The code challenge for PKCE (Proof Key for Code Exchange). Default is ''. +133 challenge_method (str, optional): The code challenge method for PKCE. Default is 'S256'. +134 +135 Returns: +136 str: The login URL. +137 """ +138 built_url = self.create_url( AUTHORIZE_ENDPOINT, add_server=True ) +139 built_url += '?response_type=code&client_id=' + self._key + '&redirect_uri=' + urllib.parse.quote(redirect_uri) +140 if state: +141 built_url += '&state=' + urllib.parse.quote(state) +142 if challenge: +143 built_url += '&code_challenge=' + urllib.parse.quote(challenge) + '&code_challenge_method=' + challenge_method +144 return built_url +
Generates the URL for initiating the login process.
+ +Args: + redirect_uri (str): The URI to which the user will be redirected after authentication. + state (str, optional): A value to maintain state between the request and the callback. Default is ''. + challenge (str, optional): The code challenge for PKCE (Proof Key for Code Exchange). Default is ''. + challenge_method (str, optional): The code challenge method for PKCE. Default is 'S256'.
+ +Returns: + str: The login URL.
+146 def login(self, username='', extension='', password='', code='', redirect_uri='', jwt='', verifier=''): +147 """ +148 Logs in the user using various authentication methods. +149 +150 Args: +151 username (str, optional): The username for authentication. Required if password is provided. Default is ''. +152 extension (str, optional): The extension associated with the username. Default is ''. +153 password (str, optional): The password for authentication. Required if username is provided. Default is ''. +154 code (str, optional): The authorization code for authentication. Default is ''. +155 redirect_uri (str, optional): The URI to redirect to after authentication. Default is ''. +156 jwt (str, optional): The JWT (JSON Web Token) for authentication. Default is ''. +157 verifier (str, optional): The code verifier for PKCE (Proof Key for Code Exchange). Default is ''. +158 +159 Returns: +160 Response: The response object containing authentication data if successful. +161 +162 Raises: +163 Exception: If the login attempt fails or invalid parameters are provided. +164 +165 Note: +166 - This method supports multiple authentication flows including password-based, authorization code, and JWT. +167 - It checks for the presence of required parameters and raises an exception if necessary. +168 - Deprecation warning is issued for username-password login; recommend using JWT or OAuth instead. +169 - Constructs the appropriate request body based on the provided parameters. +170 - Uses `create_url` to build the token endpoint URL, adding the server URL if required. +171 - Sends the authentication request using `_request_token`. +172 - Triggers the loginSuccess or loginError event based on the outcome of the login attempt. +173 """ +174 try: +175 if not code and not username and not password and not jwt: +176 raise Exception('Either code, or username with password, or jwt has to be provided') +177 if username and password: +178 warnings.warn("username-password login will soon be deprecated. Please use jwt or OAuth instead.") +179 if not code and not jwt: +180 body = { +181 'grant_type': 'password', +182 'username': username, +183 'password': password, +184 'access_token_ttl': ACCESS_TOKEN_TTL, +185 'refresh_token_ttl': REFRESH_TOKEN_TTL +186 } +187 if extension: +188 body['extension'] = extension +189 elif jwt: +190 body = { +191 'grant_type': 'urn:ietf:params:oauth:grant-type:jwt-bearer', +192 'assertion': jwt +193 } +194 else: +195 body = { +196 'grant_type': 'authorization_code', +197 'redirect_uri': redirect_uri if redirect_uri else self._redirect_uri, +198 'code': code +199 } +200 if verifier: +201 body['code_verifier'] = verifier +202 +203 built_url = self.create_url( TOKEN_ENDPOINT, add_server=True ) +204 response = self._request_token( built_url, body=body) +205 self._auth.set_data(response.json_dict()) +206 self.trigger(Events.loginSuccess, response) +207 return response +208 except Exception as e: +209 self.trigger(Events.loginError, e) +210 raise e +
Logs in the user using various authentication methods.
+ +Args: + username (str, optional): The username for authentication. Required if password is provided. Default is ''. + extension (str, optional): The extension associated with the username. Default is ''. + password (str, optional): The password for authentication. Required if username is provided. Default is ''. + code (str, optional): The authorization code for authentication. Default is ''. + redirect_uri (str, optional): The URI to redirect to after authentication. Default is ''. + jwt (str, optional): The JWT (JSON Web Token) for authentication. Default is ''. + verifier (str, optional): The code verifier for PKCE (Proof Key for Code Exchange). Default is ''.
+ +Returns: + Response: The response object containing authentication data if successful.
+ +Raises: + Exception: If the login attempt fails or invalid parameters are provided.
+ +Note:
+ - This method supports multiple authentication flows including password-based, authorization code, and JWT.
+ - It checks for the presence of required parameters and raises an exception if necessary.
+ - Deprecation warning is issued for username-password login; recommend using JWT or OAuth instead.
+ - Constructs the appropriate request body based on the provided parameters.
+ - Uses create_url to build the token endpoint URL, adding the server URL if required.
+ - Sends the authentication request using _request_token.
+ - Triggers the loginSuccess or loginError event based on the outcome of the login attempt.
212 def refresh(self): +213 """ +214 Refreshes the authentication tokens. +215 +216 Returns: +217 Response: The response object containing refreshed authentication data if successful. +218 +219 Raises: +220 Exception: If the refresh token has expired or if any error occurs during the refresh process. +221 +222 Note: +223 - This method checks if the refresh token is still valid using `_auth.refresh_token_valid()`. +224 - Constructs the request body with the grant type as 'refresh_token' and includes the refresh token. +225 - Sends the token refresh request using `_request_token` at this '/restapi/oauth/token end point. +226 - Triggers the refreshSuccess or refreshError event based on the outcome of the refresh attempt. +227 """ +228 try: +229 if not self._auth.refresh_token_valid(): +230 raise Exception('Refresh token has expired') +231 response = self._request_token(TOKEN_ENDPOINT, body={ +232 'grant_type': 'refresh_token', +233 'refresh_token': self._auth.refresh_token(), +234 'access_token_ttl': ACCESS_TOKEN_TTL, +235 'refresh_token_ttl': REFRESH_TOKEN_TTL +236 }) +237 self._auth.set_data(response.json_dict()) +238 self.trigger(Events.refreshSuccess, response) +239 return response +240 except Exception as e: +241 self.trigger(Events.refreshError, e) +242 raise e +
Refreshes the authentication tokens.
+ +Returns: + Response: The response object containing refreshed authentication data if successful.
+ +Raises: + Exception: If the refresh token has expired or if any error occurs during the refresh process.
+ +Note:
+ - This method checks if the refresh token is still valid using _auth.refresh_token_valid().
+ - Constructs the request body with the grant type as 'refresh_token' and includes the refresh token.
+ - Sends the token refresh request using _request_token at this '/restapi/oauth/token end point.
+ - Triggers the refreshSuccess or refreshError event based on the outcome of the refresh attempt.
244 def logout(self): +245 """ +246 Logs out the user by revoking the access token. +247 +248 Returns: +249 Response: The response object containing logout confirmation if successful. +250 +251 Raises: +252 Exception: If any error occurs during the logout process. +253 +254 Note: +255 - Constructs the request body with the access token to be revoked. +256 - Sends the token revoke request using `_request_token` at this /restapi/oauth/revoke end point. +257 - Resets the authentication data using `_auth.reset()` upon successful logout. +258 - Triggers the logoutSuccess or logoutError event based on the outcome of the logout attempt. +259 """ +260 try: +261 response = self._request_token(REVOKE_ENDPOINT, body={ +262 'token': self._auth.access_token() +263 }) +264 self._auth.reset() +265 self.trigger(Events.logoutSuccess, response) +266 return response +267 except Exception as e: +268 self.trigger(Events.logoutError, e) +269 raise e +
Logs out the user by revoking the access token.
+ +Returns: + Response: The response object containing logout confirmation if successful.
+ +Raises: + Exception: If any error occurs during the logout process.
+ +Note:
+ - Constructs the request body with the access token to be revoked.
+ - Sends the token revoke request using _request_token at this /restapi/oauth/revoke end point.
+ - Resets the authentication data using _auth.reset() upon successful logout.
+ - Triggers the logoutSuccess or logoutError event based on the outcome of the logout attempt.
271 def inflate_request(self, request, skip_auth_check=False): +272 """ +273 Inflates the provided request object with necessary headers and URL modifications. +274 +275 Args: +276 request (Request): The request object to be inflated. +277 skip_auth_check (bool, optional): Whether to skip the authentication check and header addition. Default is False. +278 +279 Note: +280 - If `skip_auth_check` is False (default), it ensures authentication by calling `_ensure_authentication` and adds the 'Authorization' header. +281 - Sets the 'User-Agent' and 'X-User-Agent' headers to the value specified in `_userAgent`. +282 - Modifies the request URL using `create_url`, adding the server URL if necessary. +283 """ +284 if not skip_auth_check: +285 self._ensure_authentication() +286 request.headers['Authorization'] = self._auth_header() +287 +288 request.headers['User-Agent'] = self._userAgent +289 request.headers['X-User-Agent'] = self._userAgent +290 request.url = self.create_url(request.url, add_server=True) +291 +292 return request +
Inflates the provided request object with necessary headers and URL modifications.
+ +Args: + request (Request): The request object to be inflated. + skip_auth_check (bool, optional): Whether to skip the authentication check and header addition. Default is False.
+ +Note:
+ - If skip_auth_check is False (default), it ensures authentication by calling _ensure_authentication and adds the 'Authorization' header.
+ - Sets the 'User-Agent' and 'X-User-Agent' headers to the value specified in _userAgent.
+ - Modifies the request URL using create_url, adding the server URL if necessary.
1import sys + 2import unittest + 3import requests_mock + 4 + 5from ..test import TestCase + 6 + 7 + 8@requests_mock.Mocker() + 9class TestPlatform(TestCase): + 10 def test_key(self, mock): + 11 sdk = self.get_sdk(mock) + 12 self.assertEqual('d2hhdGV2ZXI6d2hhdGV2ZXI=', sdk.platform()._api_key()) + 13 + 14 def test_login(self, mock): + 15 sdk = self.get_sdk(mock) + 16 self.assertTrue(sdk.platform().auth().data()['access_token']) + 17 + 18 def test_login_code(self, mock): + 19 sdk = self.get_sdk(mock) + 20 self.logout_mock(mock) + 21 sdk.platform().logout() + 22 self.authentication_mock(mock) + 23 sdk.platform().login(code='foo') + 24 text = str(mock.request_history[-1].text) + 25 if sys.version_info[0] == 3: + 26 self.assertEqual(text, 'grant_type=authorization_code&redirect_uri=https%3A%2F%2Fwhatever-redirect&code=foo') + 27 else: + 28 self.assertEqual(text, 'code=foo&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fwhatever-redirect') + 29 + 30 def test_login_fail(self, mock): + 31 sdk = self.get_sdk(mock) + 32 self.logout_mock(mock) + 33 sdk.platform().logout() + 34 self.authentication_mock(mock) + 35 try: + 36 sdk.platform().login() + 37 except Exception as e: + 38 self.assertTrue( e ) + 39 + 40 def test_login_code_redirect(self, mock): + 41 sdk = self.get_sdk(mock) + 42 self.logout_mock(mock) + 43 sdk.platform().logout() + 44 self.authentication_mock(mock) + 45 sdk.platform().login(code='foo', redirect_uri='bar') + 46 text = str(mock.request_history[-1].text) + 47 if sys.version_info[0] == 3: + 48 self.assertEqual(text, 'grant_type=authorization_code&redirect_uri=bar&code=foo') + 49 else: + 50 self.assertEqual(text, 'code=foo&grant_type=authorization_code&redirect_uri=bar') + 51 + 52 def test_refresh_with_outdated_token(self, mock): + 53 sdk = self.get_sdk(mock) + 54 + 55 self.refresh_mock(mock) + 56 + 57 sdk.platform().auth().set_data({ + 58 'refresh_token_expires_in': 1, + 59 'refresh_token_expire_time': 1 + 60 }) + 61 + 62 self.assertEqual(1, sdk.platform().auth().data()['refresh_token_expires_in']) + 63 self.assertEqual(1, sdk.platform().auth().data()['refresh_token_expire_time']) + 64 + 65 caught = False + 66 try: + 67 sdk.platform().refresh() + 68 except Exception as e: + 69 caught = True + 70 self.assertEqual('Refresh token has expired', str(e)) + 71 + 72 self.assertTrue(caught) + 73 + 74 def test_logged_in(self, mock): + 75 sdk = self.get_sdk(mock) + 76 + 77 self.assertTrue(sdk.platform().logged_in()) + 78 + 79 def test_manual_refresh(self, mock): + 80 sdk = self.get_sdk(mock) + 81 + 82 self.refresh_mock(mock) + 83 self.add(mock, 'GET', '/foo', {'foo': 'bar'}) + 84 + 85 self.assertEqual('ACCESS_TOKEN', sdk.platform().auth().data()['access_token']) + 86 + 87 sdk.platform().refresh() + 88 + 89 self.assertEqual('ACCESS_TOKEN_FROM_REFRESH', sdk.platform().auth().data()['access_token']) + 90 + 91 def skip_test_automatic_refresh(self, mock): # FIXME Put it back + 92 sdk = self.get_sdk(mock) + 93 + 94 self.add(mock, 'GET', '/foo', {'foo': 'bar'}) + 95 self.refresh_mock(mock) + 96 + 97 self.assertEqual('ACCESS_TOKEN', sdk.platform().auth().data()['access_token']) + 98 + 99 sdk.platform().auth().set_data({ +100 'expires_in': 0, +101 'expire_time': 0 +102 }) +103 +104 self.assertEqual('bar', sdk.platform().get('/foo').json().foo) +105 self.assertEqual('ACCESS_TOKEN_FROM_REFRESH', sdk.platform().auth().data()['access_token']) +106 +107 def test_logout(self, mock): +108 sdk = self.get_sdk(mock) +109 +110 self.logout_mock(mock) +111 +112 self.assertEqual('ACCESS_TOKEN', sdk.platform().auth().data()['access_token']) +113 +114 sdk.platform().logout() +115 +116 self.assertEqual('', sdk.platform().auth().data()['access_token']) +117 self.assertEqual('', sdk.platform().auth().data()['refresh_token']) +118 self.assertFalse(sdk.platform().logged_in()) +119 +120 def test_api_url(self, mock): +121 sdk = self.get_sdk(mock) +122 +123 exp1 = 'https://whatever/restapi/v1.0/account/~/extension/~?_method=POST&access_token=ACCESS_TOKEN' +124 act1 = sdk.platform().create_url('/account/~/extension/~', add_server=True, add_method='POST', add_token=True) +125 self.assertEqual(exp1, act1) +126 +127 exp2 = 'https://foo/account/~/extension/~?_method=POST&access_token=ACCESS_TOKEN' +128 url2 = 'https://foo/account/~/extension/~' +129 act2 = sdk.platform().create_url(url2, add_server=True, add_method='POST', add_token=True) +130 self.assertEqual(exp2, act2) +131 +132 def test_api_url_custom_prefixes(self, mock): +133 sdk = self.get_sdk(mock) +134 exp = 'https://whatever/scim/v2/foo' +135 url = '/scim/v2/foo' +136 act = sdk.platform().create_url(url, add_server=True) +137 self.assertEqual(exp, act) +138 +139 exp = 'https://whatever/analytics/phone/foo' +140 url = '/analytics/phone/foo' +141 act = sdk.platform().create_url(url, add_server=True) +142 self.assertEqual(exp, act) +143 +144 def test_delete_with_body(self,mock): +145 sdk = self.get_sdk(mock) +146 self.delete_mock_with_body(mock) +147 res = sdk.platform().delete(url='/restapi/v2/accounts/~/extensions',body={"keepAssetsInInventory": True,"records": [{"id": "123"}]}) +148 self.assertTrue(mock.called) +149 +150 def test_delete_without_body(self, mock): +151 sdk = self.get_sdk(mock) +152 self.delete_mock_without_body(mock) +153 sdk.platform().delete(url='/restapi/v2/accounts/~/extensions') +154 self.assertTrue(mock.called) +155 +156if __name__ == '__main__': +157 unittest.main() +
9@requests_mock.Mocker() + 10class TestPlatform(TestCase): + 11 def test_key(self, mock): + 12 sdk = self.get_sdk(mock) + 13 self.assertEqual('d2hhdGV2ZXI6d2hhdGV2ZXI=', sdk.platform()._api_key()) + 14 + 15 def test_login(self, mock): + 16 sdk = self.get_sdk(mock) + 17 self.assertTrue(sdk.platform().auth().data()['access_token']) + 18 + 19 def test_login_code(self, mock): + 20 sdk = self.get_sdk(mock) + 21 self.logout_mock(mock) + 22 sdk.platform().logout() + 23 self.authentication_mock(mock) + 24 sdk.platform().login(code='foo') + 25 text = str(mock.request_history[-1].text) + 26 if sys.version_info[0] == 3: + 27 self.assertEqual(text, 'grant_type=authorization_code&redirect_uri=https%3A%2F%2Fwhatever-redirect&code=foo') + 28 else: + 29 self.assertEqual(text, 'code=foo&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fwhatever-redirect') + 30 + 31 def test_login_fail(self, mock): + 32 sdk = self.get_sdk(mock) + 33 self.logout_mock(mock) + 34 sdk.platform().logout() + 35 self.authentication_mock(mock) + 36 try: + 37 sdk.platform().login() + 38 except Exception as e: + 39 self.assertTrue( e ) + 40 + 41 def test_login_code_redirect(self, mock): + 42 sdk = self.get_sdk(mock) + 43 self.logout_mock(mock) + 44 sdk.platform().logout() + 45 self.authentication_mock(mock) + 46 sdk.platform().login(code='foo', redirect_uri='bar') + 47 text = str(mock.request_history[-1].text) + 48 if sys.version_info[0] == 3: + 49 self.assertEqual(text, 'grant_type=authorization_code&redirect_uri=bar&code=foo') + 50 else: + 51 self.assertEqual(text, 'code=foo&grant_type=authorization_code&redirect_uri=bar') + 52 + 53 def test_refresh_with_outdated_token(self, mock): + 54 sdk = self.get_sdk(mock) + 55 + 56 self.refresh_mock(mock) + 57 + 58 sdk.platform().auth().set_data({ + 59 'refresh_token_expires_in': 1, + 60 'refresh_token_expire_time': 1 + 61 }) + 62 + 63 self.assertEqual(1, sdk.platform().auth().data()['refresh_token_expires_in']) + 64 self.assertEqual(1, sdk.platform().auth().data()['refresh_token_expire_time']) + 65 + 66 caught = False + 67 try: + 68 sdk.platform().refresh() + 69 except Exception as e: + 70 caught = True + 71 self.assertEqual('Refresh token has expired', str(e)) + 72 + 73 self.assertTrue(caught) + 74 + 75 def test_logged_in(self, mock): + 76 sdk = self.get_sdk(mock) + 77 + 78 self.assertTrue(sdk.platform().logged_in()) + 79 + 80 def test_manual_refresh(self, mock): + 81 sdk = self.get_sdk(mock) + 82 + 83 self.refresh_mock(mock) + 84 self.add(mock, 'GET', '/foo', {'foo': 'bar'}) + 85 + 86 self.assertEqual('ACCESS_TOKEN', sdk.platform().auth().data()['access_token']) + 87 + 88 sdk.platform().refresh() + 89 + 90 self.assertEqual('ACCESS_TOKEN_FROM_REFRESH', sdk.platform().auth().data()['access_token']) + 91 + 92 def skip_test_automatic_refresh(self, mock): # FIXME Put it back + 93 sdk = self.get_sdk(mock) + 94 + 95 self.add(mock, 'GET', '/foo', {'foo': 'bar'}) + 96 self.refresh_mock(mock) + 97 + 98 self.assertEqual('ACCESS_TOKEN', sdk.platform().auth().data()['access_token']) + 99 +100 sdk.platform().auth().set_data({ +101 'expires_in': 0, +102 'expire_time': 0 +103 }) +104 +105 self.assertEqual('bar', sdk.platform().get('/foo').json().foo) +106 self.assertEqual('ACCESS_TOKEN_FROM_REFRESH', sdk.platform().auth().data()['access_token']) +107 +108 def test_logout(self, mock): +109 sdk = self.get_sdk(mock) +110 +111 self.logout_mock(mock) +112 +113 self.assertEqual('ACCESS_TOKEN', sdk.platform().auth().data()['access_token']) +114 +115 sdk.platform().logout() +116 +117 self.assertEqual('', sdk.platform().auth().data()['access_token']) +118 self.assertEqual('', sdk.platform().auth().data()['refresh_token']) +119 self.assertFalse(sdk.platform().logged_in()) +120 +121 def test_api_url(self, mock): +122 sdk = self.get_sdk(mock) +123 +124 exp1 = 'https://whatever/restapi/v1.0/account/~/extension/~?_method=POST&access_token=ACCESS_TOKEN' +125 act1 = sdk.platform().create_url('/account/~/extension/~', add_server=True, add_method='POST', add_token=True) +126 self.assertEqual(exp1, act1) +127 +128 exp2 = 'https://foo/account/~/extension/~?_method=POST&access_token=ACCESS_TOKEN' +129 url2 = 'https://foo/account/~/extension/~' +130 act2 = sdk.platform().create_url(url2, add_server=True, add_method='POST', add_token=True) +131 self.assertEqual(exp2, act2) +132 +133 def test_api_url_custom_prefixes(self, mock): +134 sdk = self.get_sdk(mock) +135 exp = 'https://whatever/scim/v2/foo' +136 url = '/scim/v2/foo' +137 act = sdk.platform().create_url(url, add_server=True) +138 self.assertEqual(exp, act) +139 +140 exp = 'https://whatever/analytics/phone/foo' +141 url = '/analytics/phone/foo' +142 act = sdk.platform().create_url(url, add_server=True) +143 self.assertEqual(exp, act) +144 +145 def test_delete_with_body(self,mock): +146 sdk = self.get_sdk(mock) +147 self.delete_mock_with_body(mock) +148 res = sdk.platform().delete(url='/restapi/v2/accounts/~/extensions',body={"keepAssetsInInventory": True,"records": [{"id": "123"}]}) +149 self.assertTrue(mock.called) +150 +151 def test_delete_without_body(self, mock): +152 sdk = self.get_sdk(mock) +153 self.delete_mock_without_body(mock) +154 sdk.platform().delete(url='/restapi/v2/accounts/~/extensions') +155 self.assertTrue(mock.called) +
A class whose instances are single test cases.
+ +By default, the test code itself should be placed in a method named +'runTest'.
+ +If the fixture may be used for many test cases, create as +many test methods as are needed. When instantiating such a TestCase +subclass, specify in the constructor arguments the name of the test method +that the instance is to execute.
+ +Test authors should subclass TestCase for their own tests. Construction +and deconstruction of the test's environment ('fixture') can be +implemented by overriding the 'setUp' and 'tearDown' methods respectively.
+ +If it is necessary to override the __init__ method, the base class +__init__ method must always be called. It is important that subclasses +should not change the signature of their __init__ method, since instances +of the classes are instantiated automatically by parts of the framework +in order to be run.
+ +When subclassing TestCase, you can set these attributes:
+ +19 def test_login_code(self, mock): +20 sdk = self.get_sdk(mock) +21 self.logout_mock(mock) +22 sdk.platform().logout() +23 self.authentication_mock(mock) +24 sdk.platform().login(code='foo') +25 text = str(mock.request_history[-1].text) +26 if sys.version_info[0] == 3: +27 self.assertEqual(text, 'grant_type=authorization_code&redirect_uri=https%3A%2F%2Fwhatever-redirect&code=foo') +28 else: +29 self.assertEqual(text, 'code=foo&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fwhatever-redirect') +
41 def test_login_code_redirect(self, mock): +42 sdk = self.get_sdk(mock) +43 self.logout_mock(mock) +44 sdk.platform().logout() +45 self.authentication_mock(mock) +46 sdk.platform().login(code='foo', redirect_uri='bar') +47 text = str(mock.request_history[-1].text) +48 if sys.version_info[0] == 3: +49 self.assertEqual(text, 'grant_type=authorization_code&redirect_uri=bar&code=foo') +50 else: +51 self.assertEqual(text, 'code=foo&grant_type=authorization_code&redirect_uri=bar') +
53 def test_refresh_with_outdated_token(self, mock): +54 sdk = self.get_sdk(mock) +55 +56 self.refresh_mock(mock) +57 +58 sdk.platform().auth().set_data({ +59 'refresh_token_expires_in': 1, +60 'refresh_token_expire_time': 1 +61 }) +62 +63 self.assertEqual(1, sdk.platform().auth().data()['refresh_token_expires_in']) +64 self.assertEqual(1, sdk.platform().auth().data()['refresh_token_expire_time']) +65 +66 caught = False +67 try: +68 sdk.platform().refresh() +69 except Exception as e: +70 caught = True +71 self.assertEqual('Refresh token has expired', str(e)) +72 +73 self.assertTrue(caught) +
80 def test_manual_refresh(self, mock): +81 sdk = self.get_sdk(mock) +82 +83 self.refresh_mock(mock) +84 self.add(mock, 'GET', '/foo', {'foo': 'bar'}) +85 +86 self.assertEqual('ACCESS_TOKEN', sdk.platform().auth().data()['access_token']) +87 +88 sdk.platform().refresh() +89 +90 self.assertEqual('ACCESS_TOKEN_FROM_REFRESH', sdk.platform().auth().data()['access_token']) +
92 def skip_test_automatic_refresh(self, mock): # FIXME Put it back + 93 sdk = self.get_sdk(mock) + 94 + 95 self.add(mock, 'GET', '/foo', {'foo': 'bar'}) + 96 self.refresh_mock(mock) + 97 + 98 self.assertEqual('ACCESS_TOKEN', sdk.platform().auth().data()['access_token']) + 99 +100 sdk.platform().auth().set_data({ +101 'expires_in': 0, +102 'expire_time': 0 +103 }) +104 +105 self.assertEqual('bar', sdk.platform().get('/foo').json().foo) +106 self.assertEqual('ACCESS_TOKEN_FROM_REFRESH', sdk.platform().auth().data()['access_token']) +
108 def test_logout(self, mock): +109 sdk = self.get_sdk(mock) +110 +111 self.logout_mock(mock) +112 +113 self.assertEqual('ACCESS_TOKEN', sdk.platform().auth().data()['access_token']) +114 +115 sdk.platform().logout() +116 +117 self.assertEqual('', sdk.platform().auth().data()['access_token']) +118 self.assertEqual('', sdk.platform().auth().data()['refresh_token']) +119 self.assertFalse(sdk.platform().logged_in()) +
121 def test_api_url(self, mock): +122 sdk = self.get_sdk(mock) +123 +124 exp1 = 'https://whatever/restapi/v1.0/account/~/extension/~?_method=POST&access_token=ACCESS_TOKEN' +125 act1 = sdk.platform().create_url('/account/~/extension/~', add_server=True, add_method='POST', add_token=True) +126 self.assertEqual(exp1, act1) +127 +128 exp2 = 'https://foo/account/~/extension/~?_method=POST&access_token=ACCESS_TOKEN' +129 url2 = 'https://foo/account/~/extension/~' +130 act2 = sdk.platform().create_url(url2, add_server=True, add_method='POST', add_token=True) +131 self.assertEqual(exp2, act2) +
133 def test_api_url_custom_prefixes(self, mock): +134 sdk = self.get_sdk(mock) +135 exp = 'https://whatever/scim/v2/foo' +136 url = '/scim/v2/foo' +137 act = sdk.platform().create_url(url, add_server=True) +138 self.assertEqual(exp, act) +139 +140 exp = 'https://whatever/analytics/phone/foo' +141 url = '/analytics/phone/foo' +142 act = sdk.platform().create_url(url, add_server=True) +143 self.assertEqual(exp, act) +
1from .platform import Platform + 2from .websocket import WebSocketClient + 3from .http import Client, MultipartBuilder + 4 + 5 + 6class SDK: + 7 def __init__(self, key, secret, server, name='', version='', redirect_uri=None, known_prefixes=None): + 8 self._client = Client() + 9 self._platform = Platform(self._client, key, secret, server, name, version, redirect_uri, known_prefixes) +10 +11 def platform(self): +12 return self._platform +13 +14 def create_web_socket_client(self): +15 return WebSocketClient(self._platform) +16 +17 def create_multipart_builder(self): +18 return MultipartBuilder(self._platform) +
7class SDK: + 8 def __init__(self, key, secret, server, name='', version='', redirect_uri=None, known_prefixes=None): + 9 self._client = Client() +10 self._platform = Platform(self._client, key, secret, server, name, version, redirect_uri, known_prefixes) +11 +12 def platform(self): +13 return self._platform +14 +15 def create_web_socket_client(self): +16 return WebSocketClient(self._platform) +17 +18 def create_multipart_builder(self): +19 return MultipartBuilder(self._platform) +
1import unittest + 2from .test import TestCase + 3from . import SDK + 4 + 5 + 6class TestSDK(TestCase): + 7 def test_instance(self): + 8 sdk = SDK('whatever', 'whatever', 'https://whatever') + 9 self.assertEqual(sdk.platform().create_url('/foo', add_server=True), 'https://whatever/restapi/v1.0/foo') +10 +11 +12if __name__ == '__main__': +13 unittest.main() +
7class TestSDK(TestCase): + 8 def test_instance(self): + 9 sdk = SDK('whatever', 'whatever', 'https://whatever') +10 self.assertEqual(sdk.platform().create_url('/foo', add_server=True), 'https://whatever/restapi/v1.0/foo') +
A class whose instances are single test cases.
+ +By default, the test code itself should be placed in a method named +'runTest'.
+ +If the fixture may be used for many test cases, create as +many test methods as are needed. When instantiating such a TestCase +subclass, specify in the constructor arguments the name of the test method +that the instance is to execute.
+ +Test authors should subclass TestCase for their own tests. Construction +and deconstruction of the test's environment ('fixture') can be +implemented by overriding the 'setUp' and 'tearDown' methods respectively.
+ +If it is necessary to override the __init__ method, the base class +__init__ method must always be called. It is important that subclasses +should not change the signature of their __init__ method, since instances +of the classes are instantiated automatically by parts of the framework +in order to be run.
+ +When subclassing TestCase, you can set these attributes:
+ +1import unittest + 2import requests_mock + 3import json + 4import re + 5from time import time + 6from datetime import date + 7from .. import SDK + 8 + 9requests_mock.Mocker.TEST_PREFIX = 'test' + 10 + 11 + 12class TestCase(unittest.TestCase): + 13 def __init__(self, method_name=None): + 14 unittest.TestCase.__init__(self, method_name) + 15 + 16 def get_sdk(self, mock): + 17 sdk = SDK('whatever', 'whatever', 'https://whatever', redirect_uri='https://whatever-redirect') + 18 self.authentication_mock(mock) + 19 sdk.platform().login(jwt='jwt-token') + 20 return sdk + 21 + 22 def add(self, mock, method, url, body, status=200): + 23 mock.register_uri( + 24 method=method, + 25 url='https://whatever' + url, + 26 text= '' if body is None else json.dumps(body), + 27 headers={'Content-Type': 'application/json'}, + 28 status_code=status + 29 ) + 30 + 31 def authentication_mock(self, mock): + 32 return self.add(mock, 'POST', '/restapi/oauth/token', { + 33 'access_token': 'ACCESS_TOKEN', + 34 'token_type': 'bearer', + 35 'expires_in': 3600, + 36 'refresh_token': 'REFRESH_TOKEN', + 37 'refresh_token_expires_in': 60480, + 38 'scope': 'SMS RCM Foo Boo', + 39 'expireTime': time() + 3600, + 40 'owner_id': 'foo' + 41 }) + 42 + 43 def logout_mock(self, mock): + 44 return self.add(mock, 'POST', '/restapi/oauth/revoke', {}) + 45 + 46 def presence_subscription_mock(self, mock, id='1', detailed=True): + 47 detailed = '?detailedTelephonyState=true' if detailed else '' + 48 expires_in = 15 * 60 * 60 + 49 + 50 return self.add(mock, 'POST', '/restapi/v1.0/subscription', { + 51 'eventFilters': ['/restapi/v1.0/account/~/extension/' + id + '/presence' + detailed], + 52 'expirationTime': date.fromtimestamp(time() + expires_in).isoformat(), + 53 'expiresIn': expires_in, + 54 'deliveryMode': { + 55 'transportType': 'WebSocket', + 56 'encryption': True, + 57 'address': '123_foo', + 58 'subscriberKey': 'sub-c-foo', + 59 'secretKey': 'sec-c-bar', + 60 'encryptionAlgorithm': 'AES', + 61 'encryptionKey': 'e0bMTqmumPfFUbwzppkSbA==' + 62 }, + 63 'creationTime': date.today().isoformat(), + 64 'id': 'foo-bar-baz', + 65 'status': 'Active', + 66 'uri': 'https://platform.ringcentral.com/restapi/v1.0/subscription/foo-bar-baz' + 67 }) + 68 + 69 def refresh_mock(self, mock, failure=False, expires_in=3600): + 70 status = 200 + 71 body = { + 72 'access_token': 'ACCESS_TOKEN_FROM_REFRESH', + 73 'token_type': 'bearer', + 74 'expires_in': expires_in, + 75 'refresh_token': 'REFRESH_TOKEN_FROM_REFRESH', + 76 'refresh_token_expires_in': 60480, + 77 'scope': 'SMS RCM Foo Boo', + 78 'expireTime': time() + expires_in, + 79 'owner_id': 'foo' + 80 } + 81 + 82 if failure: + 83 status = 400 + 84 body = {'message': 'Wrong token (mock)'} + 85 + 86 return self.add(mock, 'POST', '/restapi/oauth/token', body, status) + 87 + 88 def subscription_mock(self, mock, expires_in=54000, filters=None, id=None): + 89 if filters is None: + 90 filters = ['/restapi/v1.0/account/~/extension/1/presence'] + 91 + 92 return self.add(mock, 'POST' if not id else 'PUT', '/restapi/v1.0/subscription' + ('/' + id if id else ''), { + 93 'eventFilters': filters, + 94 'expirationTime': date.fromtimestamp(time() + expires_in).isoformat(), + 95 'expiresIn': expires_in, + 96 'deliveryMode': { + 97 'transportType': 'WebSocket', + 98 'encryption': False, + 99 'address': '123_foo', +100 'subscriberKey': 'sub-c-foo', +101 'secretKey': 'sec-c-bar' +102 }, +103 'id': id if id else 'foo-bar-baz', +104 'creationTime': date.today().isoformat(), +105 'status': 'Active', +106 'uri': 'https://platform.ringcentral.com/restapi/v1.0/subscription/foo-bar-baz' +107 }) +108 +109 def delete_mock_with_body(self,mock): +110 return self.add(mock, 'DELETE', '/restapi/v2/accounts/~/extensions', {"keepAssetsInInventory": True,"records": [{"id": "123"}]}) +111 +112 def delete_mock_without_body(self,mock): +113 return self.add(mock, 'DELETE', '/restapi/v2/accounts/~/extensions', body=None) +
13class TestCase(unittest.TestCase): + 14 def __init__(self, method_name=None): + 15 unittest.TestCase.__init__(self, method_name) + 16 + 17 def get_sdk(self, mock): + 18 sdk = SDK('whatever', 'whatever', 'https://whatever', redirect_uri='https://whatever-redirect') + 19 self.authentication_mock(mock) + 20 sdk.platform().login(jwt='jwt-token') + 21 return sdk + 22 + 23 def add(self, mock, method, url, body, status=200): + 24 mock.register_uri( + 25 method=method, + 26 url='https://whatever' + url, + 27 text= '' if body is None else json.dumps(body), + 28 headers={'Content-Type': 'application/json'}, + 29 status_code=status + 30 ) + 31 + 32 def authentication_mock(self, mock): + 33 return self.add(mock, 'POST', '/restapi/oauth/token', { + 34 'access_token': 'ACCESS_TOKEN', + 35 'token_type': 'bearer', + 36 'expires_in': 3600, + 37 'refresh_token': 'REFRESH_TOKEN', + 38 'refresh_token_expires_in': 60480, + 39 'scope': 'SMS RCM Foo Boo', + 40 'expireTime': time() + 3600, + 41 'owner_id': 'foo' + 42 }) + 43 + 44 def logout_mock(self, mock): + 45 return self.add(mock, 'POST', '/restapi/oauth/revoke', {}) + 46 + 47 def presence_subscription_mock(self, mock, id='1', detailed=True): + 48 detailed = '?detailedTelephonyState=true' if detailed else '' + 49 expires_in = 15 * 60 * 60 + 50 + 51 return self.add(mock, 'POST', '/restapi/v1.0/subscription', { + 52 'eventFilters': ['/restapi/v1.0/account/~/extension/' + id + '/presence' + detailed], + 53 'expirationTime': date.fromtimestamp(time() + expires_in).isoformat(), + 54 'expiresIn': expires_in, + 55 'deliveryMode': { + 56 'transportType': 'WebSocket', + 57 'encryption': True, + 58 'address': '123_foo', + 59 'subscriberKey': 'sub-c-foo', + 60 'secretKey': 'sec-c-bar', + 61 'encryptionAlgorithm': 'AES', + 62 'encryptionKey': 'e0bMTqmumPfFUbwzppkSbA==' + 63 }, + 64 'creationTime': date.today().isoformat(), + 65 'id': 'foo-bar-baz', + 66 'status': 'Active', + 67 'uri': 'https://platform.ringcentral.com/restapi/v1.0/subscription/foo-bar-baz' + 68 }) + 69 + 70 def refresh_mock(self, mock, failure=False, expires_in=3600): + 71 status = 200 + 72 body = { + 73 'access_token': 'ACCESS_TOKEN_FROM_REFRESH', + 74 'token_type': 'bearer', + 75 'expires_in': expires_in, + 76 'refresh_token': 'REFRESH_TOKEN_FROM_REFRESH', + 77 'refresh_token_expires_in': 60480, + 78 'scope': 'SMS RCM Foo Boo', + 79 'expireTime': time() + expires_in, + 80 'owner_id': 'foo' + 81 } + 82 + 83 if failure: + 84 status = 400 + 85 body = {'message': 'Wrong token (mock)'} + 86 + 87 return self.add(mock, 'POST', '/restapi/oauth/token', body, status) + 88 + 89 def subscription_mock(self, mock, expires_in=54000, filters=None, id=None): + 90 if filters is None: + 91 filters = ['/restapi/v1.0/account/~/extension/1/presence'] + 92 + 93 return self.add(mock, 'POST' if not id else 'PUT', '/restapi/v1.0/subscription' + ('/' + id if id else ''), { + 94 'eventFilters': filters, + 95 'expirationTime': date.fromtimestamp(time() + expires_in).isoformat(), + 96 'expiresIn': expires_in, + 97 'deliveryMode': { + 98 'transportType': 'WebSocket', + 99 'encryption': False, +100 'address': '123_foo', +101 'subscriberKey': 'sub-c-foo', +102 'secretKey': 'sec-c-bar' +103 }, +104 'id': id if id else 'foo-bar-baz', +105 'creationTime': date.today().isoformat(), +106 'status': 'Active', +107 'uri': 'https://platform.ringcentral.com/restapi/v1.0/subscription/foo-bar-baz' +108 }) +109 +110 def delete_mock_with_body(self,mock): +111 return self.add(mock, 'DELETE', '/restapi/v2/accounts/~/extensions', {"keepAssetsInInventory": True,"records": [{"id": "123"}]}) +112 +113 def delete_mock_without_body(self,mock): +114 return self.add(mock, 'DELETE', '/restapi/v2/accounts/~/extensions', body=None) +
A class whose instances are single test cases.
+ +By default, the test code itself should be placed in a method named +'runTest'.
+ +If the fixture may be used for many test cases, create as +many test methods as are needed. When instantiating such a TestCase +subclass, specify in the constructor arguments the name of the test method +that the instance is to execute.
+ +Test authors should subclass TestCase for their own tests. Construction +and deconstruction of the test's environment ('fixture') can be +implemented by overriding the 'setUp' and 'tearDown' methods respectively.
+ +If it is necessary to override the __init__ method, the base class +__init__ method must always be called. It is important that subclasses +should not change the signature of their __init__ method, since instances +of the classes are instantiated automatically by parts of the framework +in order to be run.
+ +When subclassing TestCase, you can set these attributes:
+ +Create an instance of the class that will use the named test +method when executed. Raises a ValueError if the instance does +not have a method with the specified name.
+32 def authentication_mock(self, mock): +33 return self.add(mock, 'POST', '/restapi/oauth/token', { +34 'access_token': 'ACCESS_TOKEN', +35 'token_type': 'bearer', +36 'expires_in': 3600, +37 'refresh_token': 'REFRESH_TOKEN', +38 'refresh_token_expires_in': 60480, +39 'scope': 'SMS RCM Foo Boo', +40 'expireTime': time() + 3600, +41 'owner_id': 'foo' +42 }) +
47 def presence_subscription_mock(self, mock, id='1', detailed=True): +48 detailed = '?detailedTelephonyState=true' if detailed else '' +49 expires_in = 15 * 60 * 60 +50 +51 return self.add(mock, 'POST', '/restapi/v1.0/subscription', { +52 'eventFilters': ['/restapi/v1.0/account/~/extension/' + id + '/presence' + detailed], +53 'expirationTime': date.fromtimestamp(time() + expires_in).isoformat(), +54 'expiresIn': expires_in, +55 'deliveryMode': { +56 'transportType': 'WebSocket', +57 'encryption': True, +58 'address': '123_foo', +59 'subscriberKey': 'sub-c-foo', +60 'secretKey': 'sec-c-bar', +61 'encryptionAlgorithm': 'AES', +62 'encryptionKey': 'e0bMTqmumPfFUbwzppkSbA==' +63 }, +64 'creationTime': date.today().isoformat(), +65 'id': 'foo-bar-baz', +66 'status': 'Active', +67 'uri': 'https://platform.ringcentral.com/restapi/v1.0/subscription/foo-bar-baz' +68 }) +
70 def refresh_mock(self, mock, failure=False, expires_in=3600): +71 status = 200 +72 body = { +73 'access_token': 'ACCESS_TOKEN_FROM_REFRESH', +74 'token_type': 'bearer', +75 'expires_in': expires_in, +76 'refresh_token': 'REFRESH_TOKEN_FROM_REFRESH', +77 'refresh_token_expires_in': 60480, +78 'scope': 'SMS RCM Foo Boo', +79 'expireTime': time() + expires_in, +80 'owner_id': 'foo' +81 } +82 +83 if failure: +84 status = 400 +85 body = {'message': 'Wrong token (mock)'} +86 +87 return self.add(mock, 'POST', '/restapi/oauth/token', body, status) +
89 def subscription_mock(self, mock, expires_in=54000, filters=None, id=None): + 90 if filters is None: + 91 filters = ['/restapi/v1.0/account/~/extension/1/presence'] + 92 + 93 return self.add(mock, 'POST' if not id else 'PUT', '/restapi/v1.0/subscription' + ('/' + id if id else ''), { + 94 'eventFilters': filters, + 95 'expirationTime': date.fromtimestamp(time() + expires_in).isoformat(), + 96 'expiresIn': expires_in, + 97 'deliveryMode': { + 98 'transportType': 'WebSocket', + 99 'encryption': False, +100 'address': '123_foo', +101 'subscriberKey': 'sub-c-foo', +102 'secretKey': 'sec-c-bar' +103 }, +104 'id': id if id else 'foo-bar-baz', +105 'creationTime': date.today().isoformat(), +106 'status': 'Active', +107 'uri': 'https://platform.ringcentral.com/restapi/v1.0/subscription/foo-bar-baz' +108 }) +
1class WebSocketEvents: + 2 """ + 3 WebSocketEvents class representing various events related to WebSocket communication. + 4 + 5 Attributes: + 6 getTokenError (str): Event triggered when an error occurs while retrieving the WebSocket token. + 7 createConnectionError (str): Event triggered when an error occurs while creating a WebSocket connection. + 8 connectionCreated (str): Event triggered when a WebSocket connection is successfully created. + 9 closeConnectionError (str): Event triggered when an error occurs while closing a WebSocket connection. +10 recoverConnectionError (str): Event triggered when an error occurs while recovering a WebSocket connection. +11 receiveMessage (str): Event triggered when a message is received over the WebSocket connection. +12 sendMessageError (str): Event triggered when an error occurs while sending a message over the WebSocket connection. +13 connectionNotReady (str): Event triggered when attempting to perform an action while the WebSocket connection is not ready. +14 createSubscriptionError (str): Event triggered when an error occurs while creating a subscription. +15 updateSubscriptionError (str): Event triggered when an error occurs while updating a subscription. +16 removeSubscriptionError (str): Event triggered when an error occurs while removing a subscription. +17 subscriptionCreated (str): Event triggered when a subscription is successfully created. +18 subscriptionUpdated (str): Event triggered when a subscription is successfully updated. +19 subscriptionRemoved (str): Event triggered when a subscription is successfully removed. +20 receiveSubscriptionNotification (str): Event triggered when a subscription notification is received. +21 """ +22 getTokenError = 'getTokenError' +23 createConnectionError = 'createConnectionError' +24 connectionCreated = 'connectionCreated' +25 closeConnectionError = 'closeConnectionError' +26 recoverConnectionError = 'recoverConnectionError' +27 receiveMessage = 'receiveMessage' +28 sendMessageError = 'sendMessageError' +29 connectionNotReady = 'connectionNotReady' +30 createSubscriptionError = 'createSubscriptionError' +31 updateSubscriptionError = 'updateSubscriptionError' +32 removeSubscriptionError = 'removeSubscriptionError' +33 subscriptionCreated = 'subscriptionCreated' +34 subscriptionUpdated = 'subscriptionUpdated' +35 subscriptionRemoved = 'subscriptionRemoved' +36 receiveSubscriptionNotification = 'receiveSubscriptionNotification' +37 +38 def __init__(self): +39 pass +
3class WebSocketEvents: + 4 """ + 5 WebSocketEvents class representing various events related to WebSocket communication. + 6 + 7 Attributes: + 8 getTokenError (str): Event triggered when an error occurs while retrieving the WebSocket token. + 9 createConnectionError (str): Event triggered when an error occurs while creating a WebSocket connection. +10 connectionCreated (str): Event triggered when a WebSocket connection is successfully created. +11 closeConnectionError (str): Event triggered when an error occurs while closing a WebSocket connection. +12 recoverConnectionError (str): Event triggered when an error occurs while recovering a WebSocket connection. +13 receiveMessage (str): Event triggered when a message is received over the WebSocket connection. +14 sendMessageError (str): Event triggered when an error occurs while sending a message over the WebSocket connection. +15 connectionNotReady (str): Event triggered when attempting to perform an action while the WebSocket connection is not ready. +16 createSubscriptionError (str): Event triggered when an error occurs while creating a subscription. +17 updateSubscriptionError (str): Event triggered when an error occurs while updating a subscription. +18 removeSubscriptionError (str): Event triggered when an error occurs while removing a subscription. +19 subscriptionCreated (str): Event triggered when a subscription is successfully created. +20 subscriptionUpdated (str): Event triggered when a subscription is successfully updated. +21 subscriptionRemoved (str): Event triggered when a subscription is successfully removed. +22 receiveSubscriptionNotification (str): Event triggered when a subscription notification is received. +23 """ +24 getTokenError = 'getTokenError' +25 createConnectionError = 'createConnectionError' +26 connectionCreated = 'connectionCreated' +27 closeConnectionError = 'closeConnectionError' +28 recoverConnectionError = 'recoverConnectionError' +29 receiveMessage = 'receiveMessage' +30 sendMessageError = 'sendMessageError' +31 connectionNotReady = 'connectionNotReady' +32 createSubscriptionError = 'createSubscriptionError' +33 updateSubscriptionError = 'updateSubscriptionError' +34 removeSubscriptionError = 'removeSubscriptionError' +35 subscriptionCreated = 'subscriptionCreated' +36 subscriptionUpdated = 'subscriptionUpdated' +37 subscriptionRemoved = 'subscriptionRemoved' +38 receiveSubscriptionNotification = 'receiveSubscriptionNotification' +39 +40 def __init__(self): +41 pass +
WebSocketEvents class representing various events related to WebSocket communication.
+ +Attributes: + getTokenError (str): Event triggered when an error occurs while retrieving the WebSocket token. + createConnectionError (str): Event triggered when an error occurs while creating a WebSocket connection. + connectionCreated (str): Event triggered when a WebSocket connection is successfully created. + closeConnectionError (str): Event triggered when an error occurs while closing a WebSocket connection. + recoverConnectionError (str): Event triggered when an error occurs while recovering a WebSocket connection. + receiveMessage (str): Event triggered when a message is received over the WebSocket connection. + sendMessageError (str): Event triggered when an error occurs while sending a message over the WebSocket connection. + connectionNotReady (str): Event triggered when attempting to perform an action while the WebSocket connection is not ready. + createSubscriptionError (str): Event triggered when an error occurs while creating a subscription. + updateSubscriptionError (str): Event triggered when an error occurs while updating a subscription. + removeSubscriptionError (str): Event triggered when an error occurs while removing a subscription. + subscriptionCreated (str): Event triggered when a subscription is successfully created. + subscriptionUpdated (str): Event triggered when a subscription is successfully updated. + subscriptionRemoved (str): Event triggered when a subscription is successfully removed. + receiveSubscriptionNotification (str): Event triggered when a subscription notification is received.
+1#!/usr/bin/env python + 2# encoding: utf-8 + 3from observable import Observable + 4import websockets + 5from .web_socket_subscription import WebSocketSubscription + 6from .events import WebSocketEvents + 7import json + 8import asyncio + 9import uuid + 10 + 11class WebSocketClient(Observable): + 12 def __init__(self, platform): + 13 Observable.__init__(self) + 14 self._platform = platform + 15 self._web_socket = None + 16 self._done = False + 17 self._is_ready = False + 18 self._send_attempt_counter = 0 + 19 + 20 async def create_new_connection(self): + 21 """ + 22 Creates a new WebSocket connection. + 23 + 24 Returns: + 25 Any: Response object containing the result of the connection creation. + 26 + 27 Raises: + 28 Exception: If any error occurs during the process. + 29 + 30 Note: + 31 - Retrieves the WebSocket token using `get_web_socket_token`. + 32 - Attempts to open a WebSocket connection using the retrieved token's URI and access token. + 33 - Triggers the createConnectionError event if an error occurs and raises the exception. + 34 """ + 35 try: + 36 web_socket_token = self.get_web_socket_token() + 37 open_connection_response = await self.open_connection( + 38 web_socket_token["uri"], web_socket_token["ws_access_token"] + 39 ) + 40 return open_connection_response + 41 except Exception as e: + 42 self.trigger(WebSocketEvents.createConnectionError, e) + 43 raise + 44 + 45 def get_web_socket_token(self): + 46 """ + 47 Retrieves a WebSocket token. + 48 + 49 Returns: + 50 dict: WebSocket token containing URI and access token. + 51 + 52 Raises: + 53 Exception: If any error occurs during the process. + 54 + 55 Note: + 56 - Sends a POST request to the '/restapi/oauth/wstoken' endpoint to obtain the WebSocket token. + 57 - Returns the WebSocket token as a dictionary containing the URI and access token. + 58 - Triggers the getTokenError event if an error occurs and raises the exception. + 59 """ + 60 try: + 61 response = self._platform.post("/restapi/oauth/wstoken", body={}) + 62 return response.json_dict() + 63 except Exception as e: + 64 self.trigger(WebSocketEvents.getTokenError, e) + 65 raise + 66 + 67 async def open_connection(self, ws_uri, ws_access_token): + 68 """ + 69 Opens a WebSocket connection. + 70 + 71 Args: + 72 ws_uri (str): The WebSocket URI. + 73 ws_access_token (str): The access token for WebSocket authentication. + 74 + 75 Raises: + 76 Exception: If any error occurs during the process. + 77 + 78 Note: + 79 - Attempts to establish a WebSocket connection to the provided URI with the given access token. + 80 - Upon successful connection, sets up a heartbeat mechanism to maintain the connection. + 81 - Triggers the connectionCreated event upon successful connection establishment. + 82 - Listens for incoming messages and triggers the receiveMessage event for each received message. + 83 - Triggers the createConnectionError event if an error occurs during the connection process and raises the exception. + 84 """ + 85 try: + 86 websocket = await websockets.connect( + 87 f"{ws_uri}?access_token={ws_access_token}" + 88 ) + 89 connectionMessage = await websocket.recv() + 90 connection_info = {} + 91 connection_info["connection"] = websocket + 92 connection_info["connection_details"] = connectionMessage + 93 self._web_socket = connection_info + 94 self._is_ready = True + 95 self.trigger(WebSocketEvents.connectionCreated, self) + 96 + 97 # heartbeat every 10 minutes + 98 async def timer_function(): + 99 while True: +100 if self._done: +101 timer.cancel() +102 break +103 await asyncio.sleep(600) +104 await self.send_message([{"type": "Heartbeat", "messageId": str(uuid.uuid4())}]) +105 timer = asyncio.create_task(timer_function()) +106 +107 await asyncio.sleep(0) +108 while True: +109 message = await websocket.recv() +110 self.trigger(WebSocketEvents.receiveMessage, message) +111 await asyncio.sleep(0) +112 except Exception as e: +113 self.trigger(WebSocketEvents.createConnectionError, e) +114 raise +115 +116 def get_connection_info(self): +117 return self._web_socket +118 +119 def get_connection(self): +120 return self._web_socket["connection"] +121 +122 async def close_connection(self): +123 """ +124 Closes the WebSocket connection. +125 +126 Raises: +127 Exception: If any error occurs during the process. +128 +129 Note: +130 - Sets the `_done` flag to True to signal the termination of the heartbeat mechanism. +131 - Sets the `_is_ready` flag to False to indicate that the connection is no longer ready. +132 - Retrieves the WebSocket connection using `get_connection`. +133 - Closes the WebSocket connection. +134 - Triggers the closeConnectionError event if an error occurs during the closing process and raises the exception. +135 """ +136 try: +137 self._done = True +138 self._is_ready = False +139 ws_connection = self.get_connection() +140 await ws_connection.close() +141 except Exception as e: +142 self.trigger(WebSocketEvents.closeConnectionError, e) +143 raise +144 +145 async def recover_connection(self): +146 try: +147 ws_connection_info = self.get_web_socket_token() +148 recovered_connection_info = await self.open_connection( +149 ws_connection_info["uri"], ws_connection_info["ws_access_token"] +150 ) +151 # if recovered_connection_info['recoveryState'] === "Successful", then subscription is restored +152 # otherwise, need to create a new subscription +153 # IMPORTANT: WebSocket creation is successful if it doesn't raise any exception +154 return recovered_connection_info +155 except Exception as e: +156 self.trigger(WebSocketEvents.recoverConnectionError, e) +157 raise +158 +159 async def send_message(self, message): +160 """ +161 Sends a message over the WebSocket connection. +162 +163 Args: +164 message (Any): The message to be sent. +165 +166 Raises: +167 Exception: If any error occurs during the process or if the connection is not ready after multiple attempts. +168 +169 Note: +170 - Checks if the WebSocket connection is ready (`_is_ready` flag). +171 - If the connection is ready, resets the send attempt counter and sends the message. +172 - If the connection is not ready, retries after a delay and increments the send attempt counter. +173 - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception. +174 """ +175 try: +176 if self._is_ready: +177 self._send_attempt_counter = 0 +178 requestBodyJson = json.dumps(message) +179 await self.get_connection().send(requestBodyJson) +180 else: +181 await asyncio.sleep(1) +182 await self.send_message(message) +183 self._send_attempt_counter += 1 +184 if(self._send_attempt_counter > 10): +185 self.trigger(WebSocketEvents.connectionNotReady) +186 self._send_attempt_counter = 0 +187 raise +188 except Exception as e: +189 self.trigger(WebSocketEvents.sendMessageError, e) +190 raise +191 +192 async def create_subscription(self, events=None): +193 """ +194 Creates a subscription to WebSocket events. +195 +196 Args: +197 events (list, optional): A list of events to subscribe to. Default is None. +198 +199 Raises: +200 Exception: If any error occurs during the process or if the connection is not ready after multiple attempts. +201 +202 Note: +203 - If the WebSocket connection is ready (`_is_ready` flag), resets the send attempt counter and creates a WebSocketSubscription instance. +204 - Registers the subscription with the specified events. +205 - If the connection is not ready, retries after a delay and increments the send attempt counter. +206 - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception. +207 """ +208 try: +209 if self._is_ready: +210 self._send_attempt_counter = 0 +211 subscription = WebSocketSubscription(self) +212 await subscription.register(events) +213 else: +214 await asyncio.sleep(1) +215 await self.create_subscription(events) +216 self._send_attempt_counter += 1 +217 if(self._send_attempt_counter > 10): +218 self.trigger(WebSocketEvents.connectionNotReady) +219 self._send_attempt_counter = 0 +220 raise +221 +222 except Exception as e: +223 self.trigger(WebSocketEvents.createSubscriptionError, e) +224 raise +225 +226 async def update_subscription(self, subscription, events=None): +227 """ +228 Updates an existing WebSocket subscription with new events. +229 +230 Args: +231 subscription : The WebSocket subscription to update. +232 events (list, optional): A list of events to update the subscription with. Default is None. +233 +234 Returns: +235 WebSocketSubscription: The updated WebSocket subscription. +236 +237 Raises: +238 Exception: If any error occurs during the process. +239 +240 Note: +241 - Updates the specified WebSocket subscription with the new events provided. +242 - If the update is successful, returns the updated WebSocket subscription. +243 - If an error occurs during the update process, triggers the updateSubscriptionError event and raises an exception. +244 """ +245 try: +246 await subscription.update(events) +247 return subscription +248 except Exception as e: +249 self.trigger(WebSocketEvents.updateSubscriptionError, e) +250 raise +251 +252 async def remove_subscription(self, subscription): +253 """ +254 Removes an existing WebSocket subscription. +255 +256 Args: +257 subscription : The WebSocket subscription to remove. +258 +259 Raises: +260 Exception: If any error occurs during the removal process. +261 +262 Note: +263 - Removes the specified WebSocket subscription. +264 - If the removal is successful, the subscription is effectively unsubscribed from the events it was subscribed to. +265 - If an error occurs during the removal process, triggers the removeSubscriptionError event and raises an exception. +266 """ +267 try: +268 await subscription.remove() +269 except Exception as e: +270 self.trigger(WebSocketEvents.removeSubscriptionError, e) +271 raise +272 +273 +274if __name__ == "__main__": +275 pass +
12class WebSocketClient(Observable): + 13 def __init__(self, platform): + 14 Observable.__init__(self) + 15 self._platform = platform + 16 self._web_socket = None + 17 self._done = False + 18 self._is_ready = False + 19 self._send_attempt_counter = 0 + 20 + 21 async def create_new_connection(self): + 22 """ + 23 Creates a new WebSocket connection. + 24 + 25 Returns: + 26 Any: Response object containing the result of the connection creation. + 27 + 28 Raises: + 29 Exception: If any error occurs during the process. + 30 + 31 Note: + 32 - Retrieves the WebSocket token using `get_web_socket_token`. + 33 - Attempts to open a WebSocket connection using the retrieved token's URI and access token. + 34 - Triggers the createConnectionError event if an error occurs and raises the exception. + 35 """ + 36 try: + 37 web_socket_token = self.get_web_socket_token() + 38 open_connection_response = await self.open_connection( + 39 web_socket_token["uri"], web_socket_token["ws_access_token"] + 40 ) + 41 return open_connection_response + 42 except Exception as e: + 43 self.trigger(WebSocketEvents.createConnectionError, e) + 44 raise + 45 + 46 def get_web_socket_token(self): + 47 """ + 48 Retrieves a WebSocket token. + 49 + 50 Returns: + 51 dict: WebSocket token containing URI and access token. + 52 + 53 Raises: + 54 Exception: If any error occurs during the process. + 55 + 56 Note: + 57 - Sends a POST request to the '/restapi/oauth/wstoken' endpoint to obtain the WebSocket token. + 58 - Returns the WebSocket token as a dictionary containing the URI and access token. + 59 - Triggers the getTokenError event if an error occurs and raises the exception. + 60 """ + 61 try: + 62 response = self._platform.post("/restapi/oauth/wstoken", body={}) + 63 return response.json_dict() + 64 except Exception as e: + 65 self.trigger(WebSocketEvents.getTokenError, e) + 66 raise + 67 + 68 async def open_connection(self, ws_uri, ws_access_token): + 69 """ + 70 Opens a WebSocket connection. + 71 + 72 Args: + 73 ws_uri (str): The WebSocket URI. + 74 ws_access_token (str): The access token for WebSocket authentication. + 75 + 76 Raises: + 77 Exception: If any error occurs during the process. + 78 + 79 Note: + 80 - Attempts to establish a WebSocket connection to the provided URI with the given access token. + 81 - Upon successful connection, sets up a heartbeat mechanism to maintain the connection. + 82 - Triggers the connectionCreated event upon successful connection establishment. + 83 - Listens for incoming messages and triggers the receiveMessage event for each received message. + 84 - Triggers the createConnectionError event if an error occurs during the connection process and raises the exception. + 85 """ + 86 try: + 87 websocket = await websockets.connect( + 88 f"{ws_uri}?access_token={ws_access_token}" + 89 ) + 90 connectionMessage = await websocket.recv() + 91 connection_info = {} + 92 connection_info["connection"] = websocket + 93 connection_info["connection_details"] = connectionMessage + 94 self._web_socket = connection_info + 95 self._is_ready = True + 96 self.trigger(WebSocketEvents.connectionCreated, self) + 97 + 98 # heartbeat every 10 minutes + 99 async def timer_function(): +100 while True: +101 if self._done: +102 timer.cancel() +103 break +104 await asyncio.sleep(600) +105 await self.send_message([{"type": "Heartbeat", "messageId": str(uuid.uuid4())}]) +106 timer = asyncio.create_task(timer_function()) +107 +108 await asyncio.sleep(0) +109 while True: +110 message = await websocket.recv() +111 self.trigger(WebSocketEvents.receiveMessage, message) +112 await asyncio.sleep(0) +113 except Exception as e: +114 self.trigger(WebSocketEvents.createConnectionError, e) +115 raise +116 +117 def get_connection_info(self): +118 return self._web_socket +119 +120 def get_connection(self): +121 return self._web_socket["connection"] +122 +123 async def close_connection(self): +124 """ +125 Closes the WebSocket connection. +126 +127 Raises: +128 Exception: If any error occurs during the process. +129 +130 Note: +131 - Sets the `_done` flag to True to signal the termination of the heartbeat mechanism. +132 - Sets the `_is_ready` flag to False to indicate that the connection is no longer ready. +133 - Retrieves the WebSocket connection using `get_connection`. +134 - Closes the WebSocket connection. +135 - Triggers the closeConnectionError event if an error occurs during the closing process and raises the exception. +136 """ +137 try: +138 self._done = True +139 self._is_ready = False +140 ws_connection = self.get_connection() +141 await ws_connection.close() +142 except Exception as e: +143 self.trigger(WebSocketEvents.closeConnectionError, e) +144 raise +145 +146 async def recover_connection(self): +147 try: +148 ws_connection_info = self.get_web_socket_token() +149 recovered_connection_info = await self.open_connection( +150 ws_connection_info["uri"], ws_connection_info["ws_access_token"] +151 ) +152 # if recovered_connection_info['recoveryState'] === "Successful", then subscription is restored +153 # otherwise, need to create a new subscription +154 # IMPORTANT: WebSocket creation is successful if it doesn't raise any exception +155 return recovered_connection_info +156 except Exception as e: +157 self.trigger(WebSocketEvents.recoverConnectionError, e) +158 raise +159 +160 async def send_message(self, message): +161 """ +162 Sends a message over the WebSocket connection. +163 +164 Args: +165 message (Any): The message to be sent. +166 +167 Raises: +168 Exception: If any error occurs during the process or if the connection is not ready after multiple attempts. +169 +170 Note: +171 - Checks if the WebSocket connection is ready (`_is_ready` flag). +172 - If the connection is ready, resets the send attempt counter and sends the message. +173 - If the connection is not ready, retries after a delay and increments the send attempt counter. +174 - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception. +175 """ +176 try: +177 if self._is_ready: +178 self._send_attempt_counter = 0 +179 requestBodyJson = json.dumps(message) +180 await self.get_connection().send(requestBodyJson) +181 else: +182 await asyncio.sleep(1) +183 await self.send_message(message) +184 self._send_attempt_counter += 1 +185 if(self._send_attempt_counter > 10): +186 self.trigger(WebSocketEvents.connectionNotReady) +187 self._send_attempt_counter = 0 +188 raise +189 except Exception as e: +190 self.trigger(WebSocketEvents.sendMessageError, e) +191 raise +192 +193 async def create_subscription(self, events=None): +194 """ +195 Creates a subscription to WebSocket events. +196 +197 Args: +198 events (list, optional): A list of events to subscribe to. Default is None. +199 +200 Raises: +201 Exception: If any error occurs during the process or if the connection is not ready after multiple attempts. +202 +203 Note: +204 - If the WebSocket connection is ready (`_is_ready` flag), resets the send attempt counter and creates a WebSocketSubscription instance. +205 - Registers the subscription with the specified events. +206 - If the connection is not ready, retries after a delay and increments the send attempt counter. +207 - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception. +208 """ +209 try: +210 if self._is_ready: +211 self._send_attempt_counter = 0 +212 subscription = WebSocketSubscription(self) +213 await subscription.register(events) +214 else: +215 await asyncio.sleep(1) +216 await self.create_subscription(events) +217 self._send_attempt_counter += 1 +218 if(self._send_attempt_counter > 10): +219 self.trigger(WebSocketEvents.connectionNotReady) +220 self._send_attempt_counter = 0 +221 raise +222 +223 except Exception as e: +224 self.trigger(WebSocketEvents.createSubscriptionError, e) +225 raise +226 +227 async def update_subscription(self, subscription, events=None): +228 """ +229 Updates an existing WebSocket subscription with new events. +230 +231 Args: +232 subscription : The WebSocket subscription to update. +233 events (list, optional): A list of events to update the subscription with. Default is None. +234 +235 Returns: +236 WebSocketSubscription: The updated WebSocket subscription. +237 +238 Raises: +239 Exception: If any error occurs during the process. +240 +241 Note: +242 - Updates the specified WebSocket subscription with the new events provided. +243 - If the update is successful, returns the updated WebSocket subscription. +244 - If an error occurs during the update process, triggers the updateSubscriptionError event and raises an exception. +245 """ +246 try: +247 await subscription.update(events) +248 return subscription +249 except Exception as e: +250 self.trigger(WebSocketEvents.updateSubscriptionError, e) +251 raise +252 +253 async def remove_subscription(self, subscription): +254 """ +255 Removes an existing WebSocket subscription. +256 +257 Args: +258 subscription : The WebSocket subscription to remove. +259 +260 Raises: +261 Exception: If any error occurs during the removal process. +262 +263 Note: +264 - Removes the specified WebSocket subscription. +265 - If the removal is successful, the subscription is effectively unsubscribed from the events it was subscribed to. +266 - If an error occurs during the removal process, triggers the removeSubscriptionError event and raises an exception. +267 """ +268 try: +269 await subscription.remove() +270 except Exception as e: +271 self.trigger(WebSocketEvents.removeSubscriptionError, e) +272 raise +
Event system for python
+21 async def create_new_connection(self): +22 """ +23 Creates a new WebSocket connection. +24 +25 Returns: +26 Any: Response object containing the result of the connection creation. +27 +28 Raises: +29 Exception: If any error occurs during the process. +30 +31 Note: +32 - Retrieves the WebSocket token using `get_web_socket_token`. +33 - Attempts to open a WebSocket connection using the retrieved token's URI and access token. +34 - Triggers the createConnectionError event if an error occurs and raises the exception. +35 """ +36 try: +37 web_socket_token = self.get_web_socket_token() +38 open_connection_response = await self.open_connection( +39 web_socket_token["uri"], web_socket_token["ws_access_token"] +40 ) +41 return open_connection_response +42 except Exception as e: +43 self.trigger(WebSocketEvents.createConnectionError, e) +44 raise +
Creates a new WebSocket connection.
+ +Returns: + Any: Response object containing the result of the connection creation.
+ +Raises: + Exception: If any error occurs during the process.
+ +Note:
+ - Retrieves the WebSocket token using get_web_socket_token.
+ - Attempts to open a WebSocket connection using the retrieved token's URI and access token.
+ - Triggers the createConnectionError event if an error occurs and raises the exception.
46 def get_web_socket_token(self): +47 """ +48 Retrieves a WebSocket token. +49 +50 Returns: +51 dict: WebSocket token containing URI and access token. +52 +53 Raises: +54 Exception: If any error occurs during the process. +55 +56 Note: +57 - Sends a POST request to the '/restapi/oauth/wstoken' endpoint to obtain the WebSocket token. +58 - Returns the WebSocket token as a dictionary containing the URI and access token. +59 - Triggers the getTokenError event if an error occurs and raises the exception. +60 """ +61 try: +62 response = self._platform.post("/restapi/oauth/wstoken", body={}) +63 return response.json_dict() +64 except Exception as e: +65 self.trigger(WebSocketEvents.getTokenError, e) +66 raise +
Retrieves a WebSocket token.
+ +Returns: + dict: WebSocket token containing URI and access token.
+ +Raises: + Exception: If any error occurs during the process.
+ +Note: + - Sends a POST request to the '/restapi/oauth/wstoken' endpoint to obtain the WebSocket token. + - Returns the WebSocket token as a dictionary containing the URI and access token. + - Triggers the getTokenError event if an error occurs and raises the exception.
+68 async def open_connection(self, ws_uri, ws_access_token): + 69 """ + 70 Opens a WebSocket connection. + 71 + 72 Args: + 73 ws_uri (str): The WebSocket URI. + 74 ws_access_token (str): The access token for WebSocket authentication. + 75 + 76 Raises: + 77 Exception: If any error occurs during the process. + 78 + 79 Note: + 80 - Attempts to establish a WebSocket connection to the provided URI with the given access token. + 81 - Upon successful connection, sets up a heartbeat mechanism to maintain the connection. + 82 - Triggers the connectionCreated event upon successful connection establishment. + 83 - Listens for incoming messages and triggers the receiveMessage event for each received message. + 84 - Triggers the createConnectionError event if an error occurs during the connection process and raises the exception. + 85 """ + 86 try: + 87 websocket = await websockets.connect( + 88 f"{ws_uri}?access_token={ws_access_token}" + 89 ) + 90 connectionMessage = await websocket.recv() + 91 connection_info = {} + 92 connection_info["connection"] = websocket + 93 connection_info["connection_details"] = connectionMessage + 94 self._web_socket = connection_info + 95 self._is_ready = True + 96 self.trigger(WebSocketEvents.connectionCreated, self) + 97 + 98 # heartbeat every 10 minutes + 99 async def timer_function(): +100 while True: +101 if self._done: +102 timer.cancel() +103 break +104 await asyncio.sleep(600) +105 await self.send_message([{"type": "Heartbeat", "messageId": str(uuid.uuid4())}]) +106 timer = asyncio.create_task(timer_function()) +107 +108 await asyncio.sleep(0) +109 while True: +110 message = await websocket.recv() +111 self.trigger(WebSocketEvents.receiveMessage, message) +112 await asyncio.sleep(0) +113 except Exception as e: +114 self.trigger(WebSocketEvents.createConnectionError, e) +115 raise +
Opens a WebSocket connection.
+ +Args: + ws_uri (str): The WebSocket URI. + ws_access_token (str): The access token for WebSocket authentication.
+ +Raises: + Exception: If any error occurs during the process.
+ +Note: + - Attempts to establish a WebSocket connection to the provided URI with the given access token. + - Upon successful connection, sets up a heartbeat mechanism to maintain the connection. + - Triggers the connectionCreated event upon successful connection establishment. + - Listens for incoming messages and triggers the receiveMessage event for each received message. + - Triggers the createConnectionError event if an error occurs during the connection process and raises the exception.
+123 async def close_connection(self): +124 """ +125 Closes the WebSocket connection. +126 +127 Raises: +128 Exception: If any error occurs during the process. +129 +130 Note: +131 - Sets the `_done` flag to True to signal the termination of the heartbeat mechanism. +132 - Sets the `_is_ready` flag to False to indicate that the connection is no longer ready. +133 - Retrieves the WebSocket connection using `get_connection`. +134 - Closes the WebSocket connection. +135 - Triggers the closeConnectionError event if an error occurs during the closing process and raises the exception. +136 """ +137 try: +138 self._done = True +139 self._is_ready = False +140 ws_connection = self.get_connection() +141 await ws_connection.close() +142 except Exception as e: +143 self.trigger(WebSocketEvents.closeConnectionError, e) +144 raise +
Closes the WebSocket connection.
+ +Raises: + Exception: If any error occurs during the process.
+ +Note:
+ - Sets the _done flag to True to signal the termination of the heartbeat mechanism.
+ - Sets the _is_ready flag to False to indicate that the connection is no longer ready.
+ - Retrieves the WebSocket connection using get_connection.
+ - Closes the WebSocket connection.
+ - Triggers the closeConnectionError event if an error occurs during the closing process and raises the exception.
146 async def recover_connection(self): +147 try: +148 ws_connection_info = self.get_web_socket_token() +149 recovered_connection_info = await self.open_connection( +150 ws_connection_info["uri"], ws_connection_info["ws_access_token"] +151 ) +152 # if recovered_connection_info['recoveryState'] === "Successful", then subscription is restored +153 # otherwise, need to create a new subscription +154 # IMPORTANT: WebSocket creation is successful if it doesn't raise any exception +155 return recovered_connection_info +156 except Exception as e: +157 self.trigger(WebSocketEvents.recoverConnectionError, e) +158 raise +
160 async def send_message(self, message): +161 """ +162 Sends a message over the WebSocket connection. +163 +164 Args: +165 message (Any): The message to be sent. +166 +167 Raises: +168 Exception: If any error occurs during the process or if the connection is not ready after multiple attempts. +169 +170 Note: +171 - Checks if the WebSocket connection is ready (`_is_ready` flag). +172 - If the connection is ready, resets the send attempt counter and sends the message. +173 - If the connection is not ready, retries after a delay and increments the send attempt counter. +174 - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception. +175 """ +176 try: +177 if self._is_ready: +178 self._send_attempt_counter = 0 +179 requestBodyJson = json.dumps(message) +180 await self.get_connection().send(requestBodyJson) +181 else: +182 await asyncio.sleep(1) +183 await self.send_message(message) +184 self._send_attempt_counter += 1 +185 if(self._send_attempt_counter > 10): +186 self.trigger(WebSocketEvents.connectionNotReady) +187 self._send_attempt_counter = 0 +188 raise +189 except Exception as e: +190 self.trigger(WebSocketEvents.sendMessageError, e) +191 raise +
Sends a message over the WebSocket connection.
+ +Args: + message (Any): The message to be sent.
+ +Raises: + Exception: If any error occurs during the process or if the connection is not ready after multiple attempts.
+ +Note:
+ - Checks if the WebSocket connection is ready (_is_ready flag).
+ - If the connection is ready, resets the send attempt counter and sends the message.
+ - If the connection is not ready, retries after a delay and increments the send attempt counter.
+ - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception.
193 async def create_subscription(self, events=None): +194 """ +195 Creates a subscription to WebSocket events. +196 +197 Args: +198 events (list, optional): A list of events to subscribe to. Default is None. +199 +200 Raises: +201 Exception: If any error occurs during the process or if the connection is not ready after multiple attempts. +202 +203 Note: +204 - If the WebSocket connection is ready (`_is_ready` flag), resets the send attempt counter and creates a WebSocketSubscription instance. +205 - Registers the subscription with the specified events. +206 - If the connection is not ready, retries after a delay and increments the send attempt counter. +207 - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception. +208 """ +209 try: +210 if self._is_ready: +211 self._send_attempt_counter = 0 +212 subscription = WebSocketSubscription(self) +213 await subscription.register(events) +214 else: +215 await asyncio.sleep(1) +216 await self.create_subscription(events) +217 self._send_attempt_counter += 1 +218 if(self._send_attempt_counter > 10): +219 self.trigger(WebSocketEvents.connectionNotReady) +220 self._send_attempt_counter = 0 +221 raise +222 +223 except Exception as e: +224 self.trigger(WebSocketEvents.createSubscriptionError, e) +225 raise +
Creates a subscription to WebSocket events.
+ +Args: + events (list, optional): A list of events to subscribe to. Default is None.
+ +Raises: + Exception: If any error occurs during the process or if the connection is not ready after multiple attempts.
+ +Note:
+ - If the WebSocket connection is ready (_is_ready flag), resets the send attempt counter and creates a WebSocketSubscription instance.
+ - Registers the subscription with the specified events.
+ - If the connection is not ready, retries after a delay and increments the send attempt counter.
+ - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception.
227 async def update_subscription(self, subscription, events=None): +228 """ +229 Updates an existing WebSocket subscription with new events. +230 +231 Args: +232 subscription : The WebSocket subscription to update. +233 events (list, optional): A list of events to update the subscription with. Default is None. +234 +235 Returns: +236 WebSocketSubscription: The updated WebSocket subscription. +237 +238 Raises: +239 Exception: If any error occurs during the process. +240 +241 Note: +242 - Updates the specified WebSocket subscription with the new events provided. +243 - If the update is successful, returns the updated WebSocket subscription. +244 - If an error occurs during the update process, triggers the updateSubscriptionError event and raises an exception. +245 """ +246 try: +247 await subscription.update(events) +248 return subscription +249 except Exception as e: +250 self.trigger(WebSocketEvents.updateSubscriptionError, e) +251 raise +
Updates an existing WebSocket subscription with new events.
+ +Args: + subscription : The WebSocket subscription to update. + events (list, optional): A list of events to update the subscription with. Default is None.
+ +Returns: + WebSocketSubscription: The updated WebSocket subscription.
+ +Raises: + Exception: If any error occurs during the process.
+ +Note: + - Updates the specified WebSocket subscription with the new events provided. + - If the update is successful, returns the updated WebSocket subscription. + - If an error occurs during the update process, triggers the updateSubscriptionError event and raises an exception.
+253 async def remove_subscription(self, subscription): +254 """ +255 Removes an existing WebSocket subscription. +256 +257 Args: +258 subscription : The WebSocket subscription to remove. +259 +260 Raises: +261 Exception: If any error occurs during the removal process. +262 +263 Note: +264 - Removes the specified WebSocket subscription. +265 - If the removal is successful, the subscription is effectively unsubscribed from the events it was subscribed to. +266 - If an error occurs during the removal process, triggers the removeSubscriptionError event and raises an exception. +267 """ +268 try: +269 await subscription.remove() +270 except Exception as e: +271 self.trigger(WebSocketEvents.removeSubscriptionError, e) +272 raise +
Removes an existing WebSocket subscription.
+ +Args: + subscription : The WebSocket subscription to remove.
+ +Raises: + Exception: If any error occurs during the removal process.
+ +Note: + - Removes the specified WebSocket subscription. + - If the removal is successful, the subscription is effectively unsubscribed from the events it was subscribed to. + - If an error occurs during the removal process, triggers the removeSubscriptionError event and raises an exception.
+1#!/usr/bin/env python + 2# encoding: utf-8 + 3import uuid + 4import json + 5from .events import WebSocketEvents + 6from observable import Observable + 7 + 8# _subscription format example: https://git.ringcentral.com/platform/wsg/-/blob/master/RingCentral_WebSocket_API.md#step-4-subscribing-to-rc-events + 9 + 10 + 11class WebSocketSubscription(Observable): + 12 def __init__(self, web_socket_client): + 13 Observable.__init__(self) + 14 self._web_socket_client = web_socket_client + 15 self._event_filters = [] + 16 self._subscription = None + 17 + 18 def on_message(self, message): + 19 message_json = json.loads(message) + 20 if(message_json[0]['type'] == 'ClientRequest' and 'WSG-SubscriptionId' in message_json[0]['headers']): + 21 self.set_subscription(message_json) + 22 self._web_socket_client.trigger(WebSocketEvents.subscriptionCreated, self) + 23 else: + 24 if(message_json[0]['type'] == 'ServerNotification'): + 25 self._web_socket_client.trigger(WebSocketEvents.receiveSubscriptionNotification, message_json) + 26 + 27 async def register(self, events=None): + 28 if not self._subscription: + 29 await self.subscribe(events=events) + 30 else: + 31 await self.update(events=events) + 32 + 33 def add_events(self, events): + 34 self._event_filters += events + 35 pass + 36 + 37 def set_events(self, events): + 38 self._event_filters = events + 39 + 40 async def subscribe(self, events=None): + 41 if events: + 42 self.set_events(events) + 43 + 44 if not self._event_filters or len(self._event_filters) == 0: + 45 raise Exception("Events are undefined") + 46 + 47 try: + 48 messageId = str(uuid.uuid4()) + 49 requestBodyJson = [ + 50 { + 51 "type": "ClientRequest", + 52 "messageId": messageId, + 53 "method": "POST", + 54 "path": "/restapi/v1.0/subscription/", + 55 }, + 56 { + 57 "eventFilters": self._event_filters, + 58 "deliveryMode": {"transportType": "WebSocket"}, + 59 }, + 60 ] + 61 await self._web_socket_client.send_message(requestBodyJson) + 62 self._web_socket_client.on(WebSocketEvents.receiveMessage, self.on_message) + 63 + 64 except Exception as e: + 65 self.reset() + 66 print(e) + 67 raise + 68 + 69 async def update(self, events=None): + 70 if events: + 71 self.set_events(events) + 72 + 73 if not self._event_filters or len(self._event_filters) == 0: + 74 raise Exception("Events are undefined") + 75 + 76 try: + 77 subscriptionId = self._subscription[1]["id"] + 78 messageId = str(uuid.uuid4()) + 79 requestBodyJson = [ + 80 { + 81 "type": "ClientRequest", + 82 "messageId": messageId, + 83 "method": "PUT", + 84 "path": f"/restapi/v1.0/subscription/{subscriptionId}", + 85 }, + 86 { + 87 "eventFilters": self._event_filters, + 88 "deliveryMode": {"transportType": "WebSocket"}, + 89 }, + 90 ] + 91 await self._web_socket_client.send_message(requestBodyJson) + 92 self._web_socket_client.trigger(WebSocketEvents.subscriptionUpdated, self) + 93 + 94 except Exception as e: + 95 self.reset() + 96 print(e) + 97 raise + 98 + 99 async def remove(self): +100 subscriptionId = self._subscription[1]["id"] +101 if not subscriptionId: +102 raise Exception("Missing subscriptionId") +103 +104 try: +105 messageId = str(uuid.uuid4()) +106 requestBodyJson = [ +107 { +108 "type": "ClientRequest", +109 "messageId": messageId, +110 "method": "DELETE", +111 "path": f"/restapi/v1.0/subscription/{subscriptionId}", +112 } +113 ] +114 +115 await self._web_socket_client.send_message(requestBodyJson) +116 self._web_socket_client.off(WebSocketEvents.receiveMessage, self.on_message) +117 self._web_socket_client.trigger(WebSocketEvents.subscriptionRemoved) +118 +119 self.reset() +120 +121 except Exception as e: +122 self.reset() +123 print(e) +124 raise +125 +126 def set_subscription(self, data): +127 self._subscription = data +128 +129 def get_subscription_info(self): +130 return self._subscription +131 +132 def reset(self): +133 self._subscription = None +134 +135 def destroy(self): +136 self.reset() +137 self.off() +138 +139 +140if __name__ == "__main__": +141 pass +
12class WebSocketSubscription(Observable): + 13 def __init__(self, web_socket_client): + 14 Observable.__init__(self) + 15 self._web_socket_client = web_socket_client + 16 self._event_filters = [] + 17 self._subscription = None + 18 + 19 def on_message(self, message): + 20 message_json = json.loads(message) + 21 if(message_json[0]['type'] == 'ClientRequest' and 'WSG-SubscriptionId' in message_json[0]['headers']): + 22 self.set_subscription(message_json) + 23 self._web_socket_client.trigger(WebSocketEvents.subscriptionCreated, self) + 24 else: + 25 if(message_json[0]['type'] == 'ServerNotification'): + 26 self._web_socket_client.trigger(WebSocketEvents.receiveSubscriptionNotification, message_json) + 27 + 28 async def register(self, events=None): + 29 if not self._subscription: + 30 await self.subscribe(events=events) + 31 else: + 32 await self.update(events=events) + 33 + 34 def add_events(self, events): + 35 self._event_filters += events + 36 pass + 37 + 38 def set_events(self, events): + 39 self._event_filters = events + 40 + 41 async def subscribe(self, events=None): + 42 if events: + 43 self.set_events(events) + 44 + 45 if not self._event_filters or len(self._event_filters) == 0: + 46 raise Exception("Events are undefined") + 47 + 48 try: + 49 messageId = str(uuid.uuid4()) + 50 requestBodyJson = [ + 51 { + 52 "type": "ClientRequest", + 53 "messageId": messageId, + 54 "method": "POST", + 55 "path": "/restapi/v1.0/subscription/", + 56 }, + 57 { + 58 "eventFilters": self._event_filters, + 59 "deliveryMode": {"transportType": "WebSocket"}, + 60 }, + 61 ] + 62 await self._web_socket_client.send_message(requestBodyJson) + 63 self._web_socket_client.on(WebSocketEvents.receiveMessage, self.on_message) + 64 + 65 except Exception as e: + 66 self.reset() + 67 print(e) + 68 raise + 69 + 70 async def update(self, events=None): + 71 if events: + 72 self.set_events(events) + 73 + 74 if not self._event_filters or len(self._event_filters) == 0: + 75 raise Exception("Events are undefined") + 76 + 77 try: + 78 subscriptionId = self._subscription[1]["id"] + 79 messageId = str(uuid.uuid4()) + 80 requestBodyJson = [ + 81 { + 82 "type": "ClientRequest", + 83 "messageId": messageId, + 84 "method": "PUT", + 85 "path": f"/restapi/v1.0/subscription/{subscriptionId}", + 86 }, + 87 { + 88 "eventFilters": self._event_filters, + 89 "deliveryMode": {"transportType": "WebSocket"}, + 90 }, + 91 ] + 92 await self._web_socket_client.send_message(requestBodyJson) + 93 self._web_socket_client.trigger(WebSocketEvents.subscriptionUpdated, self) + 94 + 95 except Exception as e: + 96 self.reset() + 97 print(e) + 98 raise + 99 +100 async def remove(self): +101 subscriptionId = self._subscription[1]["id"] +102 if not subscriptionId: +103 raise Exception("Missing subscriptionId") +104 +105 try: +106 messageId = str(uuid.uuid4()) +107 requestBodyJson = [ +108 { +109 "type": "ClientRequest", +110 "messageId": messageId, +111 "method": "DELETE", +112 "path": f"/restapi/v1.0/subscription/{subscriptionId}", +113 } +114 ] +115 +116 await self._web_socket_client.send_message(requestBodyJson) +117 self._web_socket_client.off(WebSocketEvents.receiveMessage, self.on_message) +118 self._web_socket_client.trigger(WebSocketEvents.subscriptionRemoved) +119 +120 self.reset() +121 +122 except Exception as e: +123 self.reset() +124 print(e) +125 raise +126 +127 def set_subscription(self, data): +128 self._subscription = data +129 +130 def get_subscription_info(self): +131 return self._subscription +132 +133 def reset(self): +134 self._subscription = None +135 +136 def destroy(self): +137 self.reset() +138 self.off() +
Event system for python
+19 def on_message(self, message): +20 message_json = json.loads(message) +21 if(message_json[0]['type'] == 'ClientRequest' and 'WSG-SubscriptionId' in message_json[0]['headers']): +22 self.set_subscription(message_json) +23 self._web_socket_client.trigger(WebSocketEvents.subscriptionCreated, self) +24 else: +25 if(message_json[0]['type'] == 'ServerNotification'): +26 self._web_socket_client.trigger(WebSocketEvents.receiveSubscriptionNotification, message_json) +
41 async def subscribe(self, events=None): +42 if events: +43 self.set_events(events) +44 +45 if not self._event_filters or len(self._event_filters) == 0: +46 raise Exception("Events are undefined") +47 +48 try: +49 messageId = str(uuid.uuid4()) +50 requestBodyJson = [ +51 { +52 "type": "ClientRequest", +53 "messageId": messageId, +54 "method": "POST", +55 "path": "/restapi/v1.0/subscription/", +56 }, +57 { +58 "eventFilters": self._event_filters, +59 "deliveryMode": {"transportType": "WebSocket"}, +60 }, +61 ] +62 await self._web_socket_client.send_message(requestBodyJson) +63 self._web_socket_client.on(WebSocketEvents.receiveMessage, self.on_message) +64 +65 except Exception as e: +66 self.reset() +67 print(e) +68 raise +
70 async def update(self, events=None): +71 if events: +72 self.set_events(events) +73 +74 if not self._event_filters or len(self._event_filters) == 0: +75 raise Exception("Events are undefined") +76 +77 try: +78 subscriptionId = self._subscription[1]["id"] +79 messageId = str(uuid.uuid4()) +80 requestBodyJson = [ +81 { +82 "type": "ClientRequest", +83 "messageId": messageId, +84 "method": "PUT", +85 "path": f"/restapi/v1.0/subscription/{subscriptionId}", +86 }, +87 { +88 "eventFilters": self._event_filters, +89 "deliveryMode": {"transportType": "WebSocket"}, +90 }, +91 ] +92 await self._web_socket_client.send_message(requestBodyJson) +93 self._web_socket_client.trigger(WebSocketEvents.subscriptionUpdated, self) +94 +95 except Exception as e: +96 self.reset() +97 print(e) +98 raise +
100 async def remove(self): +101 subscriptionId = self._subscription[1]["id"] +102 if not subscriptionId: +103 raise Exception("Missing subscriptionId") +104 +105 try: +106 messageId = str(uuid.uuid4()) +107 requestBodyJson = [ +108 { +109 "type": "ClientRequest", +110 "messageId": messageId, +111 "method": "DELETE", +112 "path": f"/restapi/v1.0/subscription/{subscriptionId}", +113 } +114 ] +115 +116 await self._web_socket_client.send_message(requestBodyJson) +117 self._web_socket_client.off(WebSocketEvents.receiveMessage, self.on_message) +118 self._web_socket_client.trigger(WebSocketEvents.subscriptionRemoved) +119 +120 self.reset() +121 +122 except Exception as e: +123 self.reset() +124 print(e) +125 raise +
Encodes the given dictionary s into a URL-encoded string.
Parameters:\n s (dict): A dictionary containing the key-value pairs to be encoded.
\n\nReturns:\n str: A URL-encoded string representing the input dictionary.
\n\nRaises:\n Exception: If neither urllib.urlencode nor urllib.parse.urlencode is available.
Note:\n This function checks for the presence of urllib.urlencode and urllib.parse.urlencode\n to ensure compatibility across Python 2 and Python 3.
Returns an iterator over key-value pairs of thing.
If thing has an iteritems method, it is used; otherwise, thing.items() is iterated over.
Parameters:\n thing: An iterable object.
\n\nReturns:\n iterator: An iterator over the key-value pairs of thing.
Encodes the input string s into base64 format.
Parameters:\n s (str): The string to be encoded.
\n\nReturns:\n str: The base64 encoded string.
\n", "signature": "(s):", "funcdef": "def"}, "ringcentral.core.tostr": {"fullname": "ringcentral.core.tostr", "modulename": "ringcentral.core", "qualname": "tostr", "kind": "function", "doc": "\n", "signature": "(s):", "funcdef": "def"}, "ringcentral.core.clean_decrypted": {"fullname": "ringcentral.core.clean_decrypted", "modulename": "ringcentral.core", "qualname": "clean_decrypted", "kind": "function", "doc": "Cleans the decrypted string s by removing specific control characters.
Parameters:\n s (str): The decrypted string to be cleaned.
\n\nReturns:\n str: The cleaned decrypted string.
\n", "signature": "(s):", "funcdef": "def"}, "ringcentral.http": {"fullname": "ringcentral.http", "modulename": "ringcentral.http", "kind": "module", "doc": "\n"}, "ringcentral.http.api_exception": {"fullname": "ringcentral.http.api_exception", "modulename": "ringcentral.http.api_exception", "kind": "module", "doc": "\n"}, "ringcentral.http.api_exception.ApiException": {"fullname": "ringcentral.http.api_exception.ApiException", "modulename": "ringcentral.http.api_exception", "qualname": "ApiException", "kind": "class", "doc": "Common base class for all non-exit exceptions.
\n", "bases": "builtins.Exception"}, "ringcentral.http.api_exception.ApiException.__init__": {"fullname": "ringcentral.http.api_exception.ApiException.__init__", "modulename": "ringcentral.http.api_exception", "qualname": "ApiException.__init__", "kind": "function", "doc": "\n", "signature": "(api_response, previous=None)"}, "ringcentral.http.api_exception.ApiException.api_response": {"fullname": "ringcentral.http.api_exception.ApiException.api_response", "modulename": "ringcentral.http.api_exception", "qualname": "ApiException.api_response", "kind": "function", "doc": "\n", "signature": "(self):", "funcdef": "def"}, "ringcentral.http.api_exception_test": {"fullname": "ringcentral.http.api_exception_test", "modulename": "ringcentral.http.api_exception_test", "kind": "module", "doc": "\n"}, "ringcentral.http.api_exception_test.json_headers": {"fullname": "ringcentral.http.api_exception_test.json_headers", "modulename": "ringcentral.http.api_exception_test", "qualname": "json_headers", "kind": "variable", "doc": "\n", "default_value": "{'Content-Type': 'application/json'}"}, "ringcentral.http.api_exception_test.TestApiException": {"fullname": "ringcentral.http.api_exception_test.TestApiException", "modulename": "ringcentral.http.api_exception_test", "qualname": "TestApiException", "kind": "class", "doc": "A class whose instances are single test cases.
\n\nBy default, the test code itself should be placed in a method named\n'runTest'.
\n\nIf the fixture may be used for many test cases, create as\nmany test methods as are needed. When instantiating such a TestCase\nsubclass, specify in the constructor arguments the name of the test method\nthat the instance is to execute.
\n\nTest authors should subclass TestCase for their own tests. Construction\nand deconstruction of the test's environment ('fixture') can be\nimplemented by overriding the 'setUp' and 'tearDown' methods respectively.
\n\nIf it is necessary to override the __init__ method, the base class\n__init__ method must always be called. It is important that subclasses\nshould not change the signature of their __init__ method, since instances\nof the classes are instantiated automatically by parts of the framework\nin order to be run.
\n\nWhen subclassing TestCase, you can set these attributes:
\n\nA class whose instances are single test cases.
\n\nBy default, the test code itself should be placed in a method named\n'runTest'.
\n\nIf the fixture may be used for many test cases, create as\nmany test methods as are needed. When instantiating such a TestCase\nsubclass, specify in the constructor arguments the name of the test method\nthat the instance is to execute.
\n\nTest authors should subclass TestCase for their own tests. Construction\nand deconstruction of the test's environment ('fixture') can be\nimplemented by overriding the 'setUp' and 'tearDown' methods respectively.
\n\nIf it is necessary to override the __init__ method, the base class\n__init__ method must always be called. It is important that subclasses\nshould not change the signature of their __init__ method, since instances\nof the classes are instantiated automatically by parts of the framework\nin order to be run.
\n\nWhen subclassing TestCase, you can set these attributes:
\n\nSend the HTTP request and handle the response.
\n\nArgs:\n request (obj): The HTTP request object.
\n\nReturns:\n obj: The HTTP response object.
\n\nRaises:\n ApiException: If an error occurs during the request or response handling.
\n", "signature": "(self, request):", "funcdef": "def"}, "ringcentral.http.client.Client.load_response": {"fullname": "ringcentral.http.client.Client.load_response", "modulename": "ringcentral.http.client", "qualname": "Client.load_response", "kind": "function", "doc": "\n", "signature": "(self, request):", "funcdef": "def"}, "ringcentral.http.client.Client.create_request": {"fullname": "ringcentral.http.client.Client.create_request", "modulename": "ringcentral.http.client", "qualname": "Client.create_request", "kind": "function", "doc": "Create an HTTP request object.
\n\nArgs:\n method (str): The HTTP method (e.g., GET, POST).\n url (str): The URL for the request.\n query_params (dict, optional): Dictionary containing query parameters.\n body (dict, optional): Request body data.\n headers (dict, optional): Request headers.
\n\nReturns:\n requests.Request: The HTTP request object.
\n", "signature": "(self, method='', url='', query_params=None, body=None, headers=None):", "funcdef": "def"}, "ringcentral.http.client_test": {"fullname": "ringcentral.http.client_test", "modulename": "ringcentral.http.client_test", "kind": "module", "doc": "\n"}, "ringcentral.http.client_test.body": {"fullname": "ringcentral.http.client_test.body", "modulename": "ringcentral.http.client_test", "qualname": "body", "kind": "variable", "doc": "\n", "default_value": "{'foo': 'bar', 'baz': 'qux'}"}, "ringcentral.http.client_test.TestClient": {"fullname": "ringcentral.http.client_test.TestClient", "modulename": "ringcentral.http.client_test", "qualname": "TestClient", "kind": "class", "doc": "A class whose instances are single test cases.
\n\nBy default, the test code itself should be placed in a method named\n'runTest'.
\n\nIf the fixture may be used for many test cases, create as\nmany test methods as are needed. When instantiating such a TestCase\nsubclass, specify in the constructor arguments the name of the test method\nthat the instance is to execute.
\n\nTest authors should subclass TestCase for their own tests. Construction\nand deconstruction of the test's environment ('fixture') can be\nimplemented by overriding the 'setUp' and 'tearDown' methods respectively.
\n\nIf it is necessary to override the __init__ method, the base class\n__init__ method must always be called. It is important that subclasses\nshould not change the signature of their __init__ method, since instances\nof the classes are instantiated automatically by parts of the framework\nin order to be run.
\n\nWhen subclassing TestCase, you can set these attributes:
\n\nPossible attachment formats:
\n\nA class whose instances are single test cases.
\n\nBy default, the test code itself should be placed in a method named\n'runTest'.
\n\nIf the fixture may be used for many test cases, create as\nmany test methods as are needed. When instantiating such a TestCase\nsubclass, specify in the constructor arguments the name of the test method\nthat the instance is to execute.
\n\nTest authors should subclass TestCase for their own tests. Construction\nand deconstruction of the test's environment ('fixture') can be\nimplemented by overriding the 'setUp' and 'tearDown' methods respectively.
\n\nIf it is necessary to override the __init__ method, the base class\n__init__ method must always be called. It is important that subclasses\nshould not change the signature of their __init__ method, since instances\nof the classes are instantiated automatically by parts of the framework\nin order to be run.
\n\nWhen subclassing TestCase, you can set these attributes:
\n\nEvents class representing various event types.
\n\nAttributes:\n refreshSuccess (str): Represents a successful refresh event.\n refreshError (str): Represents an error during refresh.\n loginSuccess (str): Represents a successful login event.\n loginError (str): Represents an error during login.\n logoutSuccess (str): Represents a successful logout event.\n logoutError (str): Represents an error during logout.
\n"}, "ringcentral.platform.events.Events.refreshSuccess": {"fullname": "ringcentral.platform.events.Events.refreshSuccess", "modulename": "ringcentral.platform.events", "qualname": "Events.refreshSuccess", "kind": "variable", "doc": "\n", "default_value": "'refreshSuccess'"}, "ringcentral.platform.events.Events.refreshError": {"fullname": "ringcentral.platform.events.Events.refreshError", "modulename": "ringcentral.platform.events", "qualname": "Events.refreshError", "kind": "variable", "doc": "\n", "default_value": "'refreshError'"}, "ringcentral.platform.events.Events.loginSuccess": {"fullname": "ringcentral.platform.events.Events.loginSuccess", "modulename": "ringcentral.platform.events", "qualname": "Events.loginSuccess", "kind": "variable", "doc": "\n", "default_value": "'loginSuccess'"}, "ringcentral.platform.events.Events.loginError": {"fullname": "ringcentral.platform.events.Events.loginError", "modulename": "ringcentral.platform.events", "qualname": "Events.loginError", "kind": "variable", "doc": "\n", "default_value": "'loginError'"}, "ringcentral.platform.events.Events.logoutSuccess": {"fullname": "ringcentral.platform.events.Events.logoutSuccess", "modulename": "ringcentral.platform.events", "qualname": "Events.logoutSuccess", "kind": "variable", "doc": "\n", "default_value": "'logoutSuccess'"}, "ringcentral.platform.events.Events.logoutError": {"fullname": "ringcentral.platform.events.Events.logoutError", "modulename": "ringcentral.platform.events", "qualname": "Events.logoutError", "kind": "variable", "doc": "\n", "default_value": "'logoutError'"}, "ringcentral.platform.platform": {"fullname": "ringcentral.platform.platform", "modulename": "ringcentral.platform.platform", "kind": "module", "doc": "\n"}, "ringcentral.platform.platform.ACCOUNT_ID": {"fullname": "ringcentral.platform.platform.ACCOUNT_ID", "modulename": "ringcentral.platform.platform", "qualname": "ACCOUNT_ID", "kind": "variable", "doc": "\n", "default_value": "'~'"}, "ringcentral.platform.platform.ACCOUNT_PREFIX": {"fullname": "ringcentral.platform.platform.ACCOUNT_PREFIX", "modulename": "ringcentral.platform.platform", "qualname": "ACCOUNT_PREFIX", "kind": "variable", "doc": "\n", "default_value": "'/account/'"}, "ringcentral.platform.platform.URL_PREFIX": {"fullname": "ringcentral.platform.platform.URL_PREFIX", "modulename": "ringcentral.platform.platform", "qualname": "URL_PREFIX", "kind": "variable", "doc": "\n", "default_value": "'/restapi'"}, "ringcentral.platform.platform.TOKEN_ENDPOINT": {"fullname": "ringcentral.platform.platform.TOKEN_ENDPOINT", "modulename": "ringcentral.platform.platform", "qualname": "TOKEN_ENDPOINT", "kind": "variable", "doc": "\n", "default_value": "'/restapi/oauth/token'"}, "ringcentral.platform.platform.REVOKE_ENDPOINT": {"fullname": "ringcentral.platform.platform.REVOKE_ENDPOINT", "modulename": "ringcentral.platform.platform", "qualname": "REVOKE_ENDPOINT", "kind": "variable", "doc": "\n", "default_value": "'/restapi/oauth/revoke'"}, "ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"fullname": "ringcentral.platform.platform.AUTHORIZE_ENDPOINT", "modulename": "ringcentral.platform.platform", "qualname": "AUTHORIZE_ENDPOINT", "kind": "variable", "doc": "\n", "default_value": "'/restapi/oauth/authorize'"}, "ringcentral.platform.platform.API_VERSION": {"fullname": "ringcentral.platform.platform.API_VERSION", "modulename": "ringcentral.platform.platform", "qualname": "API_VERSION", "kind": "variable", "doc": "\n", "default_value": "'v1.0'"}, "ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"fullname": "ringcentral.platform.platform.ACCESS_TOKEN_TTL", "modulename": "ringcentral.platform.platform", "qualname": "ACCESS_TOKEN_TTL", "kind": "variable", "doc": "\n", "default_value": "3600"}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"fullname": "ringcentral.platform.platform.REFRESH_TOKEN_TTL", "modulename": "ringcentral.platform.platform", "qualname": "REFRESH_TOKEN_TTL", "kind": "variable", "doc": "\n", "default_value": "604800"}, "ringcentral.platform.platform.KNOWN_PREFIXES": {"fullname": "ringcentral.platform.platform.KNOWN_PREFIXES", "modulename": "ringcentral.platform.platform", "qualname": "KNOWN_PREFIXES", "kind": "variable", "doc": "\n", "default_value": "['/restapi', '/rcvideo', '/video', '/webinar', '/analytics', '/ai', '/team-messaging', '/scim', '/cx/']"}, "ringcentral.platform.platform.Platform": {"fullname": "ringcentral.platform.platform.Platform", "modulename": "ringcentral.platform.platform", "qualname": "Platform", "kind": "class", "doc": "Event system for python
\n", "bases": "observable.core.Observable"}, "ringcentral.platform.platform.Platform.__init__": {"fullname": "ringcentral.platform.platform.Platform.__init__", "modulename": "ringcentral.platform.platform", "qualname": "Platform.__init__", "kind": "function", "doc": "\n", "signature": "(\tclient,\tkey='',\tsecret='',\tserver='',\tname='',\tversion='',\tredirect_uri='',\tknown_prefixes=None)"}, "ringcentral.platform.platform.Platform.auth": {"fullname": "ringcentral.platform.platform.Platform.auth", "modulename": "ringcentral.platform.platform", "qualname": "Platform.auth", "kind": "function", "doc": "\n", "signature": "(self):", "funcdef": "def"}, "ringcentral.platform.platform.Platform.create_url": {"fullname": "ringcentral.platform.platform.Platform.create_url", "modulename": "ringcentral.platform.platform", "qualname": "Platform.create_url", "kind": "function", "doc": "Creates a complete URL based on the provided URL and additional parameters.
\n\nArgs:\n url (str): The base URL.\n add_server (bool): Whether to prepend the server URL if the provided URL doesn't contain 'http://' or 'https://'.\n add_method (str, optional): The HTTP method to append as a query parameter.\n add_token (bool): Whether to append the access token as a query parameter.
\n\nReturns:\n str: The complete URL.
\n\nNote:\n - If add_server is True and the provided URL doesn't start with 'http://' or 'https://', the server URL will be prepended.\n - If the provided URL doesn't contain known prefixes or 'http://' or 'https://', the URL_PREFIX and API_VERSION will be appended.\n - If the provided URL contains ACCOUNT_PREFIX followed by ACCOUNT_ID, it will be replaced with ACCOUNT_PREFIX and the account ID associated with the SDK instance.\n - If add_method is provided, it will be appended as a query parameter '_method'.\n - If add_token is True, the access token associated with the SDK instance will be appended as a query parameter 'access_token'.
Checks if the user is currently logged in.
\n\nReturns:\n bool: True if the user is logged in, False otherwise.
\n\nNote:\n - This method checks if the access token is valid.\n - If the access token is not valid, it attempts to refresh it by calling the refresh method.\n - If any exceptions occur during the process, it returns False.
Generates the URL for initiating the login process.
\n\nArgs:\n redirect_uri (str): The URI to which the user will be redirected after authentication.\n state (str, optional): A value to maintain state between the request and the callback. Default is ''.\n challenge (str, optional): The code challenge for PKCE (Proof Key for Code Exchange). Default is ''.\n challenge_method (str, optional): The code challenge method for PKCE. Default is 'S256'.
\n\nReturns:\n str: The login URL.
\n", "signature": "(self, redirect_uri, state='', challenge='', challenge_method='S256'):", "funcdef": "def"}, "ringcentral.platform.platform.Platform.login": {"fullname": "ringcentral.platform.platform.Platform.login", "modulename": "ringcentral.platform.platform", "qualname": "Platform.login", "kind": "function", "doc": "Logs in the user using various authentication methods.
\n\nArgs:\n username (str, optional): The username for authentication. Required if password is provided. Default is ''.\n extension (str, optional): The extension associated with the username. Default is ''.\n password (str, optional): The password for authentication. Required if username is provided. Default is ''.\n code (str, optional): The authorization code for authentication. Default is ''.\n redirect_uri (str, optional): The URI to redirect to after authentication. Default is ''.\n jwt (str, optional): The JWT (JSON Web Token) for authentication. Default is ''.\n verifier (str, optional): The code verifier for PKCE (Proof Key for Code Exchange). Default is ''.
\n\nReturns:\n Response: The response object containing authentication data if successful.
\n\nRaises:\n Exception: If the login attempt fails or invalid parameters are provided.
\n\nNote:\n - This method supports multiple authentication flows including password-based, authorization code, and JWT.\n - It checks for the presence of required parameters and raises an exception if necessary.\n - Deprecation warning is issued for username-password login; recommend using JWT or OAuth instead.\n - Constructs the appropriate request body based on the provided parameters.\n - Uses create_url to build the token endpoint URL, adding the server URL if required.\n - Sends the authentication request using _request_token.\n - Triggers the loginSuccess or loginError event based on the outcome of the login attempt.
Refreshes the authentication tokens.
\n\nReturns:\n Response: The response object containing refreshed authentication data if successful.
\n\nRaises:\n Exception: If the refresh token has expired or if any error occurs during the refresh process.
\n\nNote:\n - This method checks if the refresh token is still valid using _auth.refresh_token_valid().\n - Constructs the request body with the grant type as 'refresh_token' and includes the refresh token.\n - Sends the token refresh request using _request_token at this '/restapi/oauth/token end point.\n - Triggers the refreshSuccess or refreshError event based on the outcome of the refresh attempt.
Logs out the user by revoking the access token.
\n\nReturns:\n Response: The response object containing logout confirmation if successful.
\n\nRaises:\n Exception: If any error occurs during the logout process.
\n\nNote:\n - Constructs the request body with the access token to be revoked.\n - Sends the token revoke request using _request_token at this /restapi/oauth/revoke end point.\n - Resets the authentication data using _auth.reset() upon successful logout.\n - Triggers the logoutSuccess or logoutError event based on the outcome of the logout attempt.
Inflates the provided request object with necessary headers and URL modifications.
\n\nArgs:\n request (Request): The request object to be inflated.\n skip_auth_check (bool, optional): Whether to skip the authentication check and header addition. Default is False.
\n\nNote:\n - If skip_auth_check is False (default), it ensures authentication by calling _ensure_authentication and adds the 'Authorization' header.\n - Sets the 'User-Agent' and 'X-User-Agent' headers to the value specified in _userAgent.\n - Modifies the request URL using create_url, adding the server URL if necessary.
A class whose instances are single test cases.
\n\nBy default, the test code itself should be placed in a method named\n'runTest'.
\n\nIf the fixture may be used for many test cases, create as\nmany test methods as are needed. When instantiating such a TestCase\nsubclass, specify in the constructor arguments the name of the test method\nthat the instance is to execute.
\n\nTest authors should subclass TestCase for their own tests. Construction\nand deconstruction of the test's environment ('fixture') can be\nimplemented by overriding the 'setUp' and 'tearDown' methods respectively.
\n\nIf it is necessary to override the __init__ method, the base class\n__init__ method must always be called. It is important that subclasses\nshould not change the signature of their __init__ method, since instances\nof the classes are instantiated automatically by parts of the framework\nin order to be run.
\n\nWhen subclassing TestCase, you can set these attributes:
\n\nA class whose instances are single test cases.
\n\nBy default, the test code itself should be placed in a method named\n'runTest'.
\n\nIf the fixture may be used for many test cases, create as\nmany test methods as are needed. When instantiating such a TestCase\nsubclass, specify in the constructor arguments the name of the test method\nthat the instance is to execute.
\n\nTest authors should subclass TestCase for their own tests. Construction\nand deconstruction of the test's environment ('fixture') can be\nimplemented by overriding the 'setUp' and 'tearDown' methods respectively.
\n\nIf it is necessary to override the __init__ method, the base class\n__init__ method must always be called. It is important that subclasses\nshould not change the signature of their __init__ method, since instances\nof the classes are instantiated automatically by parts of the framework\nin order to be run.
\n\nWhen subclassing TestCase, you can set these attributes:
\n\nA class whose instances are single test cases.
\n\nBy default, the test code itself should be placed in a method named\n'runTest'.
\n\nIf the fixture may be used for many test cases, create as\nmany test methods as are needed. When instantiating such a TestCase\nsubclass, specify in the constructor arguments the name of the test method\nthat the instance is to execute.
\n\nTest authors should subclass TestCase for their own tests. Construction\nand deconstruction of the test's environment ('fixture') can be\nimplemented by overriding the 'setUp' and 'tearDown' methods respectively.
\n\nIf it is necessary to override the __init__ method, the base class\n__init__ method must always be called. It is important that subclasses\nshould not change the signature of their __init__ method, since instances\nof the classes are instantiated automatically by parts of the framework\nin order to be run.
\n\nWhen subclassing TestCase, you can set these attributes:
\n\nCreate an instance of the class that will use the named test\nmethod when executed. Raises a ValueError if the instance does\nnot have a method with the specified name.
\n", "signature": "(method_name=None)"}, "ringcentral.test.testcase.TestCase.get_sdk": {"fullname": "ringcentral.test.testcase.TestCase.get_sdk", "modulename": "ringcentral.test.testcase", "qualname": "TestCase.get_sdk", "kind": "function", "doc": "\n", "signature": "(self, mock):", "funcdef": "def"}, "ringcentral.test.testcase.TestCase.add": {"fullname": "ringcentral.test.testcase.TestCase.add", "modulename": "ringcentral.test.testcase", "qualname": "TestCase.add", "kind": "function", "doc": "\n", "signature": "(self, mock, method, url, body, status=200):", "funcdef": "def"}, "ringcentral.test.testcase.TestCase.authentication_mock": {"fullname": "ringcentral.test.testcase.TestCase.authentication_mock", "modulename": "ringcentral.test.testcase", "qualname": "TestCase.authentication_mock", "kind": "function", "doc": "\n", "signature": "(self, mock):", "funcdef": "def"}, "ringcentral.test.testcase.TestCase.logout_mock": {"fullname": "ringcentral.test.testcase.TestCase.logout_mock", "modulename": "ringcentral.test.testcase", "qualname": "TestCase.logout_mock", "kind": "function", "doc": "\n", "signature": "(self, mock):", "funcdef": "def"}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"fullname": "ringcentral.test.testcase.TestCase.presence_subscription_mock", "modulename": "ringcentral.test.testcase", "qualname": "TestCase.presence_subscription_mock", "kind": "function", "doc": "\n", "signature": "(self, mock, id='1', detailed=True):", "funcdef": "def"}, "ringcentral.test.testcase.TestCase.refresh_mock": {"fullname": "ringcentral.test.testcase.TestCase.refresh_mock", "modulename": "ringcentral.test.testcase", "qualname": "TestCase.refresh_mock", "kind": "function", "doc": "\n", "signature": "(self, mock, failure=False, expires_in=3600):", "funcdef": "def"}, "ringcentral.test.testcase.TestCase.subscription_mock": {"fullname": "ringcentral.test.testcase.TestCase.subscription_mock", "modulename": "ringcentral.test.testcase", "qualname": "TestCase.subscription_mock", "kind": "function", "doc": "\n", "signature": "(self, mock, expires_in=54000, filters=None, id=None):", "funcdef": "def"}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"fullname": "ringcentral.test.testcase.TestCase.delete_mock_with_body", "modulename": "ringcentral.test.testcase", "qualname": "TestCase.delete_mock_with_body", "kind": "function", "doc": "\n", "signature": "(self, mock):", "funcdef": "def"}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"fullname": "ringcentral.test.testcase.TestCase.delete_mock_without_body", "modulename": "ringcentral.test.testcase", "qualname": "TestCase.delete_mock_without_body", "kind": "function", "doc": "\n", "signature": "(self, mock):", "funcdef": "def"}, "ringcentral.websocket": {"fullname": "ringcentral.websocket", "modulename": "ringcentral.websocket", "kind": "module", "doc": "\n"}, "ringcentral.websocket.events": {"fullname": "ringcentral.websocket.events", "modulename": "ringcentral.websocket.events", "kind": "module", "doc": "\n"}, "ringcentral.websocket.events.WebSocketEvents": {"fullname": "ringcentral.websocket.events.WebSocketEvents", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents", "kind": "class", "doc": "WebSocketEvents class representing various events related to WebSocket communication.
\n\nAttributes:\n getTokenError (str): Event triggered when an error occurs while retrieving the WebSocket token.\n createConnectionError (str): Event triggered when an error occurs while creating a WebSocket connection.\n connectionCreated (str): Event triggered when a WebSocket connection is successfully created.\n closeConnectionError (str): Event triggered when an error occurs while closing a WebSocket connection.\n recoverConnectionError (str): Event triggered when an error occurs while recovering a WebSocket connection.\n receiveMessage (str): Event triggered when a message is received over the WebSocket connection.\n sendMessageError (str): Event triggered when an error occurs while sending a message over the WebSocket connection.\n connectionNotReady (str): Event triggered when attempting to perform an action while the WebSocket connection is not ready.\n createSubscriptionError (str): Event triggered when an error occurs while creating a subscription.\n updateSubscriptionError (str): Event triggered when an error occurs while updating a subscription.\n removeSubscriptionError (str): Event triggered when an error occurs while removing a subscription.\n subscriptionCreated (str): Event triggered when a subscription is successfully created.\n subscriptionUpdated (str): Event triggered when a subscription is successfully updated.\n subscriptionRemoved (str): Event triggered when a subscription is successfully removed.\n receiveSubscriptionNotification (str): Event triggered when a subscription notification is received.
\n"}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"fullname": "ringcentral.websocket.events.WebSocketEvents.getTokenError", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.getTokenError", "kind": "variable", "doc": "\n", "default_value": "'getTokenError'"}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"fullname": "ringcentral.websocket.events.WebSocketEvents.createConnectionError", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.createConnectionError", "kind": "variable", "doc": "\n", "default_value": "'createConnectionError'"}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"fullname": "ringcentral.websocket.events.WebSocketEvents.connectionCreated", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.connectionCreated", "kind": "variable", "doc": "\n", "default_value": "'connectionCreated'"}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"fullname": "ringcentral.websocket.events.WebSocketEvents.closeConnectionError", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.closeConnectionError", "kind": "variable", "doc": "\n", "default_value": "'closeConnectionError'"}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"fullname": "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.recoverConnectionError", "kind": "variable", "doc": "\n", "default_value": "'recoverConnectionError'"}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"fullname": "ringcentral.websocket.events.WebSocketEvents.receiveMessage", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.receiveMessage", "kind": "variable", "doc": "\n", "default_value": "'receiveMessage'"}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"fullname": "ringcentral.websocket.events.WebSocketEvents.sendMessageError", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.sendMessageError", "kind": "variable", "doc": "\n", "default_value": "'sendMessageError'"}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"fullname": "ringcentral.websocket.events.WebSocketEvents.connectionNotReady", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.connectionNotReady", "kind": "variable", "doc": "\n", "default_value": "'connectionNotReady'"}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"fullname": "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.createSubscriptionError", "kind": "variable", "doc": "\n", "default_value": "'createSubscriptionError'"}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"fullname": "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.updateSubscriptionError", "kind": "variable", "doc": "\n", "default_value": "'updateSubscriptionError'"}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"fullname": "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.removeSubscriptionError", "kind": "variable", "doc": "\n", "default_value": "'removeSubscriptionError'"}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"fullname": "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.subscriptionCreated", "kind": "variable", "doc": "\n", "default_value": "'subscriptionCreated'"}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"fullname": "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.subscriptionUpdated", "kind": "variable", "doc": "\n", "default_value": "'subscriptionUpdated'"}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"fullname": "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.subscriptionRemoved", "kind": "variable", "doc": "\n", "default_value": "'subscriptionRemoved'"}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"fullname": "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification", "modulename": "ringcentral.websocket.events", "qualname": "WebSocketEvents.receiveSubscriptionNotification", "kind": "variable", "doc": "\n", "default_value": "'receiveSubscriptionNotification'"}, "ringcentral.websocket.web_socket_client": {"fullname": "ringcentral.websocket.web_socket_client", "modulename": "ringcentral.websocket.web_socket_client", "kind": "module", "doc": "\n"}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"fullname": "ringcentral.websocket.web_socket_client.WebSocketClient", "modulename": "ringcentral.websocket.web_socket_client", "qualname": "WebSocketClient", "kind": "class", "doc": "Event system for python
\n", "bases": "observable.core.Observable"}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"fullname": "ringcentral.websocket.web_socket_client.WebSocketClient.__init__", "modulename": "ringcentral.websocket.web_socket_client", "qualname": "WebSocketClient.__init__", "kind": "function", "doc": "\n", "signature": "(platform)"}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"fullname": "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection", "modulename": "ringcentral.websocket.web_socket_client", "qualname": "WebSocketClient.create_new_connection", "kind": "function", "doc": "Creates a new WebSocket connection.
\n\nReturns:\n Any: Response object containing the result of the connection creation.
\n\nRaises:\n Exception: If any error occurs during the process.
\n\nNote:\n - Retrieves the WebSocket token using get_web_socket_token.\n - Attempts to open a WebSocket connection using the retrieved token's URI and access token.\n - Triggers the createConnectionError event if an error occurs and raises the exception.
Retrieves a WebSocket token.
\n\nReturns:\n dict: WebSocket token containing URI and access token.
\n\nRaises:\n Exception: If any error occurs during the process.
\n\nNote:\n - Sends a POST request to the '/restapi/oauth/wstoken' endpoint to obtain the WebSocket token.\n - Returns the WebSocket token as a dictionary containing the URI and access token.\n - Triggers the getTokenError event if an error occurs and raises the exception.
\n", "signature": "(self):", "funcdef": "def"}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"fullname": "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection", "modulename": "ringcentral.websocket.web_socket_client", "qualname": "WebSocketClient.open_connection", "kind": "function", "doc": "Opens a WebSocket connection.
\n\nArgs:\n ws_uri (str): The WebSocket URI.\n ws_access_token (str): The access token for WebSocket authentication.
\n\nRaises:\n Exception: If any error occurs during the process.
\n\nNote:\n - Attempts to establish a WebSocket connection to the provided URI with the given access token.\n - Upon successful connection, sets up a heartbeat mechanism to maintain the connection.\n - Triggers the connectionCreated event upon successful connection establishment.\n - Listens for incoming messages and triggers the receiveMessage event for each received message.\n - Triggers the createConnectionError event if an error occurs during the connection process and raises the exception.
\n", "signature": "(self, ws_uri, ws_access_token):", "funcdef": "async def"}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"fullname": "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info", "modulename": "ringcentral.websocket.web_socket_client", "qualname": "WebSocketClient.get_connection_info", "kind": "function", "doc": "\n", "signature": "(self):", "funcdef": "def"}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"fullname": "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection", "modulename": "ringcentral.websocket.web_socket_client", "qualname": "WebSocketClient.get_connection", "kind": "function", "doc": "\n", "signature": "(self):", "funcdef": "def"}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"fullname": "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection", "modulename": "ringcentral.websocket.web_socket_client", "qualname": "WebSocketClient.close_connection", "kind": "function", "doc": "Closes the WebSocket connection.
\n\nRaises:\n Exception: If any error occurs during the process.
\n\nNote:\n - Sets the _done flag to True to signal the termination of the heartbeat mechanism.\n - Sets the _is_ready flag to False to indicate that the connection is no longer ready.\n - Retrieves the WebSocket connection using get_connection.\n - Closes the WebSocket connection.\n - Triggers the closeConnectionError event if an error occurs during the closing process and raises the exception.
Sends a message over the WebSocket connection.
\n\nArgs:\n message (Any): The message to be sent.
\n\nRaises:\n Exception: If any error occurs during the process or if the connection is not ready after multiple attempts.
\n\nNote:\n - Checks if the WebSocket connection is ready (_is_ready flag).\n - If the connection is ready, resets the send attempt counter and sends the message.\n - If the connection is not ready, retries after a delay and increments the send attempt counter.\n - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception.
Creates a subscription to WebSocket events.
\n\nArgs:\n events (list, optional): A list of events to subscribe to. Default is None.
\n\nRaises:\n Exception: If any error occurs during the process or if the connection is not ready after multiple attempts.
\n\nNote:\n - If the WebSocket connection is ready (_is_ready flag), resets the send attempt counter and creates a WebSocketSubscription instance.\n - Registers the subscription with the specified events.\n - If the connection is not ready, retries after a delay and increments the send attempt counter.\n - If the send attempt counter exceeds a threshold, triggers the connectionNotReady event and raises an exception.
Updates an existing WebSocket subscription with new events.
\n\nArgs:\n subscription : The WebSocket subscription to update.\n events (list, optional): A list of events to update the subscription with. Default is None.
\n\nReturns:\n WebSocketSubscription: The updated WebSocket subscription.
\n\nRaises:\n Exception: If any error occurs during the process.
\n\nNote:\n - Updates the specified WebSocket subscription with the new events provided.\n - If the update is successful, returns the updated WebSocket subscription.\n - If an error occurs during the update process, triggers the updateSubscriptionError event and raises an exception.
\n", "signature": "(self, subscription, events=None):", "funcdef": "async def"}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"fullname": "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription", "modulename": "ringcentral.websocket.web_socket_client", "qualname": "WebSocketClient.remove_subscription", "kind": "function", "doc": "Removes an existing WebSocket subscription.
\n\nArgs:\n subscription : The WebSocket subscription to remove.
\n\nRaises:\n Exception: If any error occurs during the removal process.
\n\nNote:\n - Removes the specified WebSocket subscription.\n - If the removal is successful, the subscription is effectively unsubscribed from the events it was subscribed to.\n - If an error occurs during the removal process, triggers the removeSubscriptionError event and raises an exception.
\n", "signature": "(self, subscription):", "funcdef": "async def"}, "ringcentral.websocket.web_socket_subscription": {"fullname": "ringcentral.websocket.web_socket_subscription", "modulename": "ringcentral.websocket.web_socket_subscription", "kind": "module", "doc": "\n"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription", "kind": "class", "doc": "Event system for python
\n", "bases": "observable.core.Observable"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.__init__", "kind": "function", "doc": "\n", "signature": "(web_socket_client)"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.on_message", "kind": "function", "doc": "\n", "signature": "(self, message):", "funcdef": "def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.register", "kind": "function", "doc": "\n", "signature": "(self, events=None):", "funcdef": "async def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.add_events", "kind": "function", "doc": "\n", "signature": "(self, events):", "funcdef": "def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.set_events", "kind": "function", "doc": "\n", "signature": "(self, events):", "funcdef": "def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.subscribe", "kind": "function", "doc": "\n", "signature": "(self, events=None):", "funcdef": "async def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.update", "kind": "function", "doc": "\n", "signature": "(self, events=None):", "funcdef": "async def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.remove", "kind": "function", "doc": "\n", "signature": "(self):", "funcdef": "async def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.set_subscription", "kind": "function", "doc": "\n", "signature": "(self, data):", "funcdef": "def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.get_subscription_info", "kind": "function", "doc": "\n", "signature": "(self):", "funcdef": "def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.reset", "kind": "function", "doc": "\n", "signature": "(self):", "funcdef": "def"}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"fullname": "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy", "modulename": "ringcentral.websocket.web_socket_subscription", "qualname": "WebSocketSubscription.destroy", "kind": "function", "doc": "\n", "signature": "(self):", "funcdef": "def"}}, "docInfo": {"ringcentral": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.core": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.core.is_third": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 7, "bases": 0, "doc": 3}, "ringcentral.core.urlencode": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 94}, "ringcentral.core.iterator": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 63}, "ringcentral.core.base64encode": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 34}, "ringcentral.core.tostr": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.core.clean_decrypted": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 37}, "ringcentral.http": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.api_exception": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.api_exception.ApiException": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 11}, "ringcentral.http.api_exception.ApiException.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 20, "bases": 0, "doc": 3}, "ringcentral.http.api_exception.ApiException.api_response": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_exception_test": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.api_exception_test.json_headers": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 10, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.api_exception_test.TestApiException": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 268}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.api_response.get_prepared_request_details": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.ok": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.raw": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.body": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.text": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.json_dict": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.json": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.multipart": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.error": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.request": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.ApiResponse.response": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response.create_response": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.http.api_response_test": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.api_response_test.multipart_headers": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 15, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.api_response_test.TestApiResponse": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 268}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"qualname": 5, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"qualname": 5, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.api_response_test.create_response": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 3}, "ringcentral.http.client": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.client.Client": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.client.Client.send": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 46}, "ringcentral.http.client.Client.load_response": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.http.client.Client.create_request": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 68, "bases": 0, "doc": 62}, "ringcentral.http.client_test": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.client_test.body": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 16, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.client_test.TestClient": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 268}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"qualname": 7, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"qualname": 7, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"qualname": 7, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"qualname": 8, "fullname": 12, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"qualname": 7, "fullname": 11, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.json_object": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.json_object.PYTHON_KEYWORDS": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 95, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.json_object.JsonObject": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.json_object.safe_name": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.json_object.unfold": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder.MultipartBuilder": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 17, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 30, "bases": 0, "doc": 86}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"qualname": 2, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 30, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder_test": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder_test.MockPlatform": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 268}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.platform": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.auth": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.auth.RELEASE_TIMEOUT": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.auth.Auth": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.auth.Auth.set_data": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 22, "bases": 0, "doc": 3}, "ringcentral.platform.auth.Auth.data": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.platform.auth.Auth.reset": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.platform.auth.Auth.access_token": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.platform.auth.Auth.refresh_token": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.platform.auth.Auth.token_type": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.platform.auth.Auth.access_token_valid": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.platform.events": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.events.Events": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 61}, "ringcentral.platform.events.Events.refreshSuccess": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.events.Events.refreshError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.events.Events.loginSuccess": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.events.Events.loginError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.events.Events.logoutSuccess": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.events.Events.logoutError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.ACCOUNT_ID": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.ACCOUNT_PREFIX": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.URL_PREFIX": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.TOKEN_ENDPOINT": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.REVOKE_ENDPOINT": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.API_VERSION": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 6, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 1, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.KNOWN_PREFIXES": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 30, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform.Platform": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 3, "doc": 6}, "ringcentral.platform.platform.Platform.__init__": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 107, "bases": 0, "doc": 3}, "ringcentral.platform.platform.Platform.auth": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.platform.platform.Platform.create_url": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 49, "bases": 0, "doc": 198}, "ringcentral.platform.platform.Platform.logged_in": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 67}, "ringcentral.platform.platform.Platform.login_url": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 58, "bases": 0, "doc": 85}, "ringcentral.platform.platform.Platform.login": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 111, "bases": 0, "doc": 235}, "ringcentral.platform.platform.Platform.refresh": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 110}, "ringcentral.platform.platform.Platform.logout": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 97}, "ringcentral.platform.platform.Platform.inflate_request": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 106}, "ringcentral.platform.platform.Platform.send_request": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 28, "bases": 0, "doc": 3}, "ringcentral.platform.platform.Platform.get": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 49, "bases": 0, "doc": 3}, "ringcentral.platform.platform.Platform.post": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 65, "bases": 0, "doc": 3}, "ringcentral.platform.platform.Platform.put": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 65, "bases": 0, "doc": 3}, "ringcentral.platform.platform.Platform.patch": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 65, "bases": 0, "doc": 3}, "ringcentral.platform.platform.Platform.delete": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 65, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test": {"qualname": 0, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform": {"qualname": 1, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 268}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"qualname": 5, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"qualname": 6, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"qualname": 5, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"qualname": 3, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"qualname": 4, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"qualname": 6, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"qualname": 5, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"qualname": 5, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.sdk": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.sdk.SDK": {"qualname": 1, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.sdk.SDK.__init__": {"qualname": 3, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 74, "bases": 0, "doc": 3}, "ringcentral.sdk.SDK.platform": {"qualname": 2, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.sdk.SDK.create_web_socket_client": {"qualname": 5, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.sdk.SDK.create_multipart_builder": {"qualname": 4, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.sdk_test": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.sdk_test.TestSDK": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 4, "doc": 268}, "ringcentral.sdk_test.TestSDK.test_instance": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.test": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.test.spy": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.test.spy.Spy": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.test.spy.Spy.args": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.test.testcase": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.test.testcase.TestCase": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 3, "doc": 268}, "ringcentral.test.testcase.TestCase.__init__": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 15, "bases": 0, "doc": 33}, "ringcentral.test.testcase.TestCase.get_sdk": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.test.testcase.TestCase.add": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 41, "bases": 0, "doc": 3}, "ringcentral.test.testcase.TestCase.authentication_mock": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.test.testcase.TestCase.logout_mock": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"qualname": 4, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 3}, "ringcentral.test.testcase.TestCase.refresh_mock": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 37, "bases": 0, "doc": 3}, "ringcentral.test.testcase.TestCase.subscription_mock": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 47, "bases": 0, "doc": 3}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"qualname": 5, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.websocket": {"qualname": 0, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents": {"qualname": 1, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 216}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 5, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_client": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 3, "doc": 6}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 9, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 76}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"qualname": 5, "fullname": 10, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 73}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 109}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 88}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 107}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 114}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 26, "bases": 0, "doc": 99}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 74}, "ringcentral.websocket.web_socket_subscription": {"qualname": 0, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"qualname": 1, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 0, "bases": 3, "doc": 6}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"qualname": 3, "fullname": 8, "annotation": 0, "default_value": 0, "signature": 16, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"qualname": 4, "fullname": 9, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"qualname": 2, "fullname": 7, "annotation": 0, "default_value": 0, "signature": 11, "bases": 0, "doc": 3}}, "length": 206, "save": true}, "index": {"qualname": {"root": {"docs": {"ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}}, "df": 8, "i": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.is_third": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.core.iterator": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}}, "df": 8}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"ringcentral.platform.platform.ACCOUNT_ID": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.core.is_third": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.core.tostr": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.auth.Auth.access_token": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token": {"tf": 1}, "ringcentral.platform.auth.Auth.token_type": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}, "ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1}, "ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 10}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1}}, "df": 26, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}}, "df": 2}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}}, "df": 4}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}}, "df": 6}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}, "ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 11}}}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}}, "df": 15}}}}}}}}, "s": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1}}, "df": 2}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.ApiResponse.text": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.auth.RELEASE_TIMEOUT": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.auth.Auth.token_type": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.platform.platform.URL_PREFIX": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}}, "df": 7, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.json_object.unfold": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"6": {"4": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.base64encode": {"tf": 1}}, "df": 1}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "d": {"docs": {"ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.api_response.ApiResponse.body": {"tf": 1}, "ringcentral.http.client_test.body": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 12}}}, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.client.Client": {"tf": 1}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client.Client.load_response": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}}, "df": 5}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_response.create_response": {"tf": 1}, "ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 14, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}}, "df": 6, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.delete": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 5}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.platform.auth.Auth.data": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"ringcentral.http.api_exception.ApiException.api_response": {"tf": 1}, "ringcentral.platform.platform.API_VERSION": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_exception.ApiException.api_response": {"tf": 1}}, "df": 3}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_response.ApiResponse": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.ok": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.raw": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.body": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.text": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.error": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 1}}, "df": 12}}}}}}}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}}, "df": 1}}}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}}, "df": 4}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.auth.Auth": {"tf": 1}, "ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.platform.auth.Auth.data": {"tf": 1}, "ringcentral.platform.auth.Auth.reset": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token": {"tf": 1}, "ringcentral.platform.auth.Auth.token_type": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}, "ringcentral.platform.platform.Platform.auth": {"tf": 1}}, "df": 10, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.auth.Auth.access_token": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.ACCOUNT_ID": {"tf": 1}, "ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.test.spy.Spy.args": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception.ApiException.api_response": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 1}, "ringcentral.http.api_response.create_response": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}, "ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.http.client.Client.load_response": {"tf": 1}}, "df": 6}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.auth.Auth.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}}, "df": 2}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}}, "df": 11}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.auth.RELEASE_TIMEOUT": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.auth.Auth.refresh_token": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}}, "df": 8, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events.refreshSuccess": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events.refreshError": {"tf": 1}}, "df": 1}}}}}}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "w": {"docs": {"ringcentral.http.api_response.ApiResponse.raw": {"tf": 1}}, "df": 1}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}}, "df": 5, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.json_object.JsonObject": {"tf": 1}}, "df": 1}}}}}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}}, "df": 2}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}}, "df": 5}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.json_object.safe_name": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.sdk.SDK": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}, "ringcentral.sdk.SDK.platform": {"tf": 1}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1}}, "df": 6}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.test.spy.Spy": {"tf": 1}, "ringcentral.test.spy.Spy.args": {"tf": 1}}, "df": 2}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}}, "df": 7, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}}, "df": 7, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1}, "ringcentral.platform.platform.URL_PREFIX": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}}, "df": 1}}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.platform.platform.Platform": {"tf": 1}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.auth": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}, "ringcentral.sdk.SDK.platform": {"tf": 1}}, "df": 17}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.post": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.put": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.platform.Platform.patch": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.http.api_response.ApiResponse.ok": {"tf": 1}}, "df": 1}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 1}}}, "n": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1}}, "df": 8, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}}, "df": 8}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 7, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.http.multipart_builder_test.MockPlatform": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}}, "df": 2}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.api_response.ApiResponse.error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}}, "df": 4}}}}, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1}, "ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1}, "ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1}}, "df": 3}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.events.Events.refreshSuccess": {"tf": 1}, "ringcentral.platform.events.Events.refreshError": {"tf": 1}, "ringcentral.platform.events.Events.loginSuccess": {"tf": 1}, "ringcentral.platform.events.Events.loginError": {"tf": 1}, "ringcentral.platform.events.Events.logoutSuccess": {"tf": 1}, "ringcentral.platform.events.Events.logoutError": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}}, "df": 9}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}}, "df": 5, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "b": {"docs": {"ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1}}, "df": 16}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 13}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 13}}}}}}}}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.client.Client.load_response": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}}, "df": 6, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events.loginSuccess": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events.loginError": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events.logoutSuccess": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events.logoutError": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}}, "df": 2}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}}, "df": 1}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1}}, "df": 1, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.json_object.safe_name": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "w": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.API_VERSION": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}}, "df": 1}}}}}}, "fullname": {"root": {"docs": {"ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}}, "df": 8, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral": {"tf": 1}, "ringcentral.core": {"tf": 1}, "ringcentral.core.is_third": {"tf": 1}, "ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1}, "ringcentral.core.tostr": {"tf": 1}, "ringcentral.core.clean_decrypted": {"tf": 1}, "ringcentral.http": {"tf": 1}, "ringcentral.http.api_exception": {"tf": 1}, "ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_exception.ApiException.api_response": {"tf": 1}, "ringcentral.http.api_exception_test": {"tf": 1}, "ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}, "ringcentral.http.api_response": {"tf": 1}, "ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}, "ringcentral.http.api_response.ApiResponse": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.ok": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.raw": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.body": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.text": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.error": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 1}, "ringcentral.http.api_response.create_response": {"tf": 1}, "ringcentral.http.api_response_test": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}, "ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.http.client": {"tf": 1}, "ringcentral.http.client.Client": {"tf": 1}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client.Client.load_response": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test": {"tf": 1}, "ringcentral.http.client_test.body": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.json_object": {"tf": 1}, "ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}, "ringcentral.http.json_object.JsonObject": {"tf": 1}, "ringcentral.http.json_object.safe_name": {"tf": 1}, "ringcentral.http.json_object.unfold": {"tf": 1}, "ringcentral.http.multipart_builder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}, "ringcentral.http.multipart_builder_test": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}, "ringcentral.platform": {"tf": 1}, "ringcentral.platform.auth": {"tf": 1}, "ringcentral.platform.auth.RELEASE_TIMEOUT": {"tf": 1}, "ringcentral.platform.auth.Auth": {"tf": 1}, "ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.platform.auth.Auth.data": {"tf": 1}, "ringcentral.platform.auth.Auth.reset": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token": {"tf": 1}, "ringcentral.platform.auth.Auth.token_type": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}, "ringcentral.platform.events": {"tf": 1}, "ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.events.Events.refreshSuccess": {"tf": 1}, "ringcentral.platform.events.Events.refreshError": {"tf": 1}, "ringcentral.platform.events.Events.loginSuccess": {"tf": 1}, "ringcentral.platform.events.Events.loginError": {"tf": 1}, "ringcentral.platform.events.Events.logoutSuccess": {"tf": 1}, "ringcentral.platform.events.Events.logoutError": {"tf": 1}, "ringcentral.platform.platform": {"tf": 1}, "ringcentral.platform.platform.ACCOUNT_ID": {"tf": 1}, "ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1}, "ringcentral.platform.platform.URL_PREFIX": {"tf": 1}, "ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1}, "ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1}, "ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1}, "ringcentral.platform.platform.API_VERSION": {"tf": 1}, "ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}, "ringcentral.platform.platform.Platform": {"tf": 1}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.auth": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}, "ringcentral.platform.platform_test": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.sdk": {"tf": 1}, "ringcentral.sdk.SDK": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}, "ringcentral.sdk.SDK.platform": {"tf": 1}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1}, "ringcentral.sdk_test": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1}, "ringcentral.test": {"tf": 1}, "ringcentral.test.spy": {"tf": 1}, "ringcentral.test.spy.Spy": {"tf": 1}, "ringcentral.test.spy.Spy.args": {"tf": 1}, "ringcentral.test.testcase": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}, "ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}, "ringcentral.websocket": {"tf": 1}, "ringcentral.websocket.events": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1}, "ringcentral.websocket.web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 206}}}}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception.ApiException.api_response": {"tf": 1}, "ringcentral.http.api_response": {"tf": 1}, "ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}, "ringcentral.http.api_response.ApiResponse": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.ok": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.raw": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.body": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.text": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.error": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 1.4142135623730951}, "ringcentral.http.api_response.create_response": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.create_response": {"tf": 1.4142135623730951}, "ringcentral.http.client.Client.load_response": {"tf": 1}}, "df": 24}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.auth.Auth.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}}, "df": 2}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}}, "df": 11}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.auth.RELEASE_TIMEOUT": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.auth.Auth.refresh_token": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}}, "df": 8, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events.refreshSuccess": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events.refreshError": {"tf": 1}}, "df": 1}}}}}}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}}, "df": 1}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "w": {"docs": {"ringcentral.http.api_response.ApiResponse.raw": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core": {"tf": 1}, "ringcentral.core.is_third": {"tf": 1}, "ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1}, "ringcentral.core.tostr": {"tf": 1}, "ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 7}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}}, "df": 6, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}}, "df": 2}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.client": {"tf": 1}, "ringcentral.http.client.Client": {"tf": 1.4142135623730951}, "ringcentral.http.client.Client.send": {"tf": 1.4142135623730951}, "ringcentral.http.client.Client.load_response": {"tf": 1.4142135623730951}, "ringcentral.http.client.Client.create_request": {"tf": 1.4142135623730951}, "ringcentral.http.client_test": {"tf": 1}, "ringcentral.http.client_test.body": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 28}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_response.create_response": {"tf": 1}, "ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 14, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.is_third": {"tf": 1}}, "df": 1}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.core.iterator": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}}, "df": 2, "i": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}}, "df": 8}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}}, "df": 2}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {"ringcentral.platform.platform.ACCOUNT_ID": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.core.is_third": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.core.tostr": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.auth.Auth.access_token": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token": {"tf": 1}, "ringcentral.platform.auth.Auth.token_type": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}, "ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1}, "ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 10}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test": {"tf": 1}, "ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.http.client_test": {"tf": 1}, "ringcentral.http.client_test.body": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1.4142135623730951}, "ringcentral.sdk_test": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1.4142135623730951}, "ringcentral.test": {"tf": 1}, "ringcentral.test.spy": {"tf": 1}, "ringcentral.test.spy.Spy": {"tf": 1}, "ringcentral.test.spy.Spy.args": {"tf": 1}, "ringcentral.test.testcase": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}, "ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 60, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}}, "df": 2}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}}, "df": 4}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}}, "df": 6}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.test.testcase": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.add": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1.4142135623730951}}, "df": 12}}}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}}, "df": 15}}}}}}}}, "s": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1}}, "df": 2}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.ApiResponse.text": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.auth.RELEASE_TIMEOUT": {"tf": 1}}, "df": 1}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.auth.Auth.token_type": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.platform.platform.URL_PREFIX": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}}, "df": 7, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.json_object.unfold": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"6": {"4": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.base64encode": {"tf": 1}}, "df": 1}}}}}}}, "docs": {}, "df": 0}, "docs": {}, "df": 0}}, "d": {"docs": {"ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}}, "df": 1}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.api_response.ApiResponse.body": {"tf": 1}, "ringcentral.http.client_test.body": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 12}}}, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.multipart_builder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}, "ringcentral.http.multipart_builder_test": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1}}, "df": 16}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.delete": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 5}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.platform.auth.Auth.data": {"tf": 1}}, "df": 2}}}}, "h": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ringcentral.http": {"tf": 1}, "ringcentral.http.api_exception": {"tf": 1}, "ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_exception.ApiException.api_response": {"tf": 1}, "ringcentral.http.api_exception_test": {"tf": 1}, "ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}, "ringcentral.http.api_response": {"tf": 1}, "ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}, "ringcentral.http.api_response.ApiResponse": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.ok": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.raw": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.body": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.text": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.error": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 1}, "ringcentral.http.api_response.create_response": {"tf": 1}, "ringcentral.http.api_response_test": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}, "ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.http.client": {"tf": 1}, "ringcentral.http.client.Client": {"tf": 1}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client.Client.load_response": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test": {"tf": 1}, "ringcentral.http.client_test.body": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.json_object": {"tf": 1}, "ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}, "ringcentral.http.json_object.JsonObject": {"tf": 1}, "ringcentral.http.json_object.safe_name": {"tf": 1}, "ringcentral.http.json_object.unfold": {"tf": 1}, "ringcentral.http.multipart_builder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}, "ringcentral.http.multipart_builder_test": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}}, "df": 64}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"ringcentral.http.api_exception": {"tf": 1}, "ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_exception.ApiException.api_response": {"tf": 1.4142135623730951}, "ringcentral.http.api_exception_test": {"tf": 1}, "ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}, "ringcentral.http.api_response": {"tf": 1}, "ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}, "ringcentral.http.api_response.ApiResponse": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.ok": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.raw": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.body": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.text": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.error": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 1}, "ringcentral.http.api_response.create_response": {"tf": 1}, "ringcentral.http.api_response_test": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}, "ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.platform.platform.API_VERSION": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}}, "df": 33, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_exception.ApiException.api_response": {"tf": 1}}, "df": 3}}}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_response.ApiResponse": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.ok": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.raw": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.body": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.text": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.error": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 1}}, "df": 12}}}}}}}}}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}}, "df": 1}}}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}}, "df": 4}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.auth": {"tf": 1}, "ringcentral.platform.auth.RELEASE_TIMEOUT": {"tf": 1}, "ringcentral.platform.auth.Auth": {"tf": 1.4142135623730951}, "ringcentral.platform.auth.Auth.set_data": {"tf": 1.4142135623730951}, "ringcentral.platform.auth.Auth.data": {"tf": 1.4142135623730951}, "ringcentral.platform.auth.Auth.reset": {"tf": 1.4142135623730951}, "ringcentral.platform.auth.Auth.access_token": {"tf": 1.4142135623730951}, "ringcentral.platform.auth.Auth.refresh_token": {"tf": 1.4142135623730951}, "ringcentral.platform.auth.Auth.token_type": {"tf": 1.4142135623730951}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1.4142135623730951}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.auth": {"tf": 1}}, "df": 12, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1}}, "df": 1}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.auth.Auth.access_token": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.ACCOUNT_ID": {"tf": 1}, "ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1}}, "df": 2}}}}}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.test.spy.Spy.args": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception": {"tf": 1}, "ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_exception.ApiException.api_response": {"tf": 1}, "ringcentral.http.api_exception_test": {"tf": 1}, "ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}}, "df": 8}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.api_response.ApiResponse.error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}}, "df": 2}}}}, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}}, "df": 4}}}}, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1}, "ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1}, "ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1}}, "df": 3}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events": {"tf": 1}, "ringcentral.platform.events.Events": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.refreshSuccess": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.refreshError": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.loginSuccess": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.loginError": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.logoutSuccess": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.logoutError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}}, "df": 27}}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.json_object": {"tf": 1}, "ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}, "ringcentral.http.json_object.JsonObject": {"tf": 1}, "ringcentral.http.json_object.safe_name": {"tf": 1}, "ringcentral.http.json_object.unfold": {"tf": 1}}, "df": 10, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.json_object.JsonObject": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}}, "df": 3, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}}, "df": 5}}, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.json_object.safe_name": {"tf": 1}}, "df": 1}}}, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.sdk": {"tf": 1}, "ringcentral.sdk.SDK": {"tf": 1.4142135623730951}, "ringcentral.sdk.SDK.__init__": {"tf": 1.4142135623730951}, "ringcentral.sdk.SDK.platform": {"tf": 1.4142135623730951}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1.4142135623730951}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1.4142135623730951}, "ringcentral.sdk_test": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1}}, "df": 10}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 29}}}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.test.spy": {"tf": 1}, "ringcentral.test.spy.Spy": {"tf": 1.4142135623730951}, "ringcentral.test.spy.Spy.args": {"tf": 1.4142135623730951}}, "df": 3}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 19, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}}, "df": 1}}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}}, "df": 7, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1}, "ringcentral.platform.platform.URL_PREFIX": {"tf": 1}}, "df": 2, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}}, "df": 1}}}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.platform": {"tf": 1}, "ringcentral.platform.auth": {"tf": 1}, "ringcentral.platform.auth.RELEASE_TIMEOUT": {"tf": 1}, "ringcentral.platform.auth.Auth": {"tf": 1}, "ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.platform.auth.Auth.data": {"tf": 1}, "ringcentral.platform.auth.Auth.reset": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token": {"tf": 1}, "ringcentral.platform.auth.Auth.token_type": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}, "ringcentral.platform.events": {"tf": 1}, "ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.events.Events.refreshSuccess": {"tf": 1}, "ringcentral.platform.events.Events.refreshError": {"tf": 1}, "ringcentral.platform.events.Events.loginSuccess": {"tf": 1}, "ringcentral.platform.events.Events.loginError": {"tf": 1}, "ringcentral.platform.events.Events.logoutSuccess": {"tf": 1}, "ringcentral.platform.events.Events.logoutError": {"tf": 1}, "ringcentral.platform.platform": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.ACCOUNT_ID": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.URL_PREFIX": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.API_VERSION": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.auth": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.logout": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.get": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.post": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.put": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.patch": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.delete": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1.4142135623730951}, "ringcentral.sdk.SDK.platform": {"tf": 1}}, "df": 64}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.post": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.put": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.platform.Platform.patch": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.http.api_response.ApiResponse.ok": {"tf": 1}}, "df": 1}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.json_object": {"tf": 1}, "ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}, "ringcentral.http.json_object.JsonObject": {"tf": 1}, "ringcentral.http.json_object.safe_name": {"tf": 1}, "ringcentral.http.json_object.unfold": {"tf": 1}}, "df": 5}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 1}}}, "n": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}, "ringcentral.http.multipart_builder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}, "ringcentral.http.multipart_builder_test": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1.4142135623730951}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1}}, "df": 21, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}}, "df": 8}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}}, "df": 2}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 7, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.http.multipart_builder_test.MockPlatform": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}}, "df": 2}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}}, "df": 2}}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}}, "df": 5, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "b": {"docs": {"ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 29, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket": {"tf": 1}, "ringcentral.websocket.events": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1}, "ringcentral.websocket.web_socket_client": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 46, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1}}, "df": 16}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 13}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 13}}}}}}}}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.client.Client.load_response": {"tf": 1}}, "df": 1}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}}, "df": 6, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events.loginSuccess": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events.loginError": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1}}, "df": 3, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events.logoutSuccess": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events.logoutError": {"tf": 1}}, "df": 1}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}}, "df": 2}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}}, "df": 1}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1}}, "df": 1, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.json_object.safe_name": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "w": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.API_VERSION": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}}, "df": 1}}}}}}, "annotation": {"root": {"docs": {}, "df": 0}}, "default_value": {"root": {"0": {"docs": {"ringcentral.platform.platform.API_VERSION": {"tf": 1}}, "df": 1}, "1": {"0": {"docs": {"ringcentral.platform.auth.RELEASE_TIMEOUT": {"tf": 1}}, "df": 1}, "2": {"4": {"5": {"docs": {"ringcentral.http.api_response_test.multipart_headers": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "3": {"9": {"4": {"1": {"3": {"5": {"0": {"4": {"5": {"2": {"4": {"8": {"docs": {"ringcentral.http.api_response_test.multipart_headers": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "3": {"6": {"0": {"0": {"docs": {"ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "6": {"0": {"4": {"8": {"0": {"0": {"docs": {"ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "9": {"4": {"5": {"8": {"0": {"2": {"2": {"9": {"3": {"docs": {"ringcentral.http.api_response_test.multipart_headers": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"ringcentral.http.api_exception_test.json_headers": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.body": {"tf": 2}, "ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.refreshSuccess": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.refreshError": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.loginSuccess": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.loginError": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.logoutSuccess": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.logoutError": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.ACCOUNT_ID": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.URL_PREFIX": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.API_VERSION": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1.4142135623730951}}, "df": 33, "x": {"2": {"7": {"docs": {"ringcentral.http.api_exception_test.json_headers": {"tf": 2}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 2}, "ringcentral.http.client_test.body": {"tf": 2.8284271247461903}, "ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 7.874007874011811}, "ringcentral.platform.events.Events.refreshSuccess": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.refreshError": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.loginSuccess": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.loginError": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.logoutSuccess": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events.logoutError": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.ACCOUNT_ID": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.URL_PREFIX": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.API_VERSION": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 4.242640687119285}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1.4142135623730951}}, "df": 33}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}}, "df": 2}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "x": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.json_headers": {"tf": 1}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.json_headers": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}}}}}}}, "s": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_response_test.multipart_headers": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}}}}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.api_response_test.multipart_headers": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.client_test.body": {"tf": 1}}, "df": 1}, "z": {"docs": {"ringcentral.http.client_test.body": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {"ringcentral.http.client_test.body": {"tf": 1}}, "df": 1}, "r": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "x": {"docs": {"ringcentral.http.client_test.body": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}, "f": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "f": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}, "s": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events.refreshSuccess": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events.refreshError": {"tf": 1}}, "df": 1}}}}}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"ringcentral.platform.platform.URL_PREFIX": {"tf": 1}, "ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 2, "/": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {"ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events.loginSuccess": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events.loginError": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events.logoutSuccess": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events.logoutError": {"tf": 1}}, "df": 1}}}}}}}}}}}, "v": {"1": {"docs": {"ringcentral.platform.platform.API_VERSION": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "o": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}, "signature": {"root": {"1": {"docs": {"ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}}, "df": 1}, "2": {"0": {"0": {"docs": {"ringcentral.test.testcase.TestCase.add": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "3": {"6": {"0": {"0": {"docs": {"ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "9": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 2}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.__init__": {"tf": 3.4641016151377544}, "ringcentral.platform.platform.Platform.login_url": {"tf": 2.449489742783178}, "ringcentral.platform.platform.Platform.login": {"tf": 3.7416573867739413}, "ringcentral.sdk.SDK.__init__": {"tf": 2}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1.4142135623730951}}, "df": 8}, "docs": {}, "df": 0}, "5": {"4": {"0": {"0": {"0": {"docs": {"ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"ringcentral.core.is_third": {"tf": 2.6457513110645907}, "ringcentral.core.urlencode": {"tf": 3.1622776601683795}, "ringcentral.core.iterator": {"tf": 3.1622776601683795}, "ringcentral.core.base64encode": {"tf": 3.1622776601683795}, "ringcentral.core.tostr": {"tf": 3.1622776601683795}, "ringcentral.core.clean_decrypted": {"tf": 3.1622776601683795}, "ringcentral.http.api_exception.ApiException.__init__": {"tf": 4}, "ringcentral.http.api_exception.ApiException.api_response": {"tf": 3.1622776601683795}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.get_prepared_request_details": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 4.47213595499958}, "ringcentral.http.api_response.ApiResponse.ok": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.raw": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.body": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.text": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.multipart": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.error": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 3.1622776601683795}, "ringcentral.http.api_response.create_response": {"tf": 3.7416573867739413}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 3.1622776601683795}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 3.1622776601683795}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 3.1622776601683795}, "ringcentral.http.api_response_test.create_response": {"tf": 4.69041575982343}, "ringcentral.http.client.Client.send": {"tf": 3.7416573867739413}, "ringcentral.http.client.Client.load_response": {"tf": 3.7416573867739413}, "ringcentral.http.client.Client.create_request": {"tf": 7.3484692283495345}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 3.1622776601683795}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 3.1622776601683795}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 3.1622776601683795}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 3.1622776601683795}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 3.1622776601683795}, "ringcentral.http.json_object.safe_name": {"tf": 3.1622776601683795}, "ringcentral.http.json_object.unfold": {"tf": 3.1622776601683795}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 2.8284271247461903}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 3.7416573867739413}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 3.7416573867739413}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 3.1622776601683795}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 3.1622776601683795}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 4.898979485566356}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 4.898979485566356}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 4.242640687119285}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 3.1622776601683795}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 3.1622776601683795}, "ringcentral.platform.auth.Auth.set_data": {"tf": 4.242640687119285}, "ringcentral.platform.auth.Auth.data": {"tf": 3.1622776601683795}, "ringcentral.platform.auth.Auth.reset": {"tf": 3.1622776601683795}, "ringcentral.platform.auth.Auth.access_token": {"tf": 3.1622776601683795}, "ringcentral.platform.auth.Auth.refresh_token": {"tf": 3.1622776601683795}, "ringcentral.platform.auth.Auth.token_type": {"tf": 3.1622776601683795}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 3.1622776601683795}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 3.1622776601683795}, "ringcentral.platform.platform.Platform.__init__": {"tf": 9.16515138991168}, "ringcentral.platform.platform.Platform.auth": {"tf": 3.1622776601683795}, "ringcentral.platform.platform.Platform.create_url": {"tf": 6.164414002968976}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 3.1622776601683795}, "ringcentral.platform.platform.Platform.login_url": {"tf": 6.6332495807108}, "ringcentral.platform.platform.Platform.login": {"tf": 9.38083151964686}, "ringcentral.platform.platform.Platform.refresh": {"tf": 3.1622776601683795}, "ringcentral.platform.platform.Platform.logout": {"tf": 3.1622776601683795}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 4.69041575982343}, "ringcentral.platform.platform.Platform.send_request": {"tf": 4.69041575982343}, "ringcentral.platform.platform.Platform.get": {"tf": 6.164414002968976}, "ringcentral.platform.platform.Platform.post": {"tf": 7.211102550927978}, "ringcentral.platform.platform.Platform.put": {"tf": 7.211102550927978}, "ringcentral.platform.platform.Platform.patch": {"tf": 7.211102550927978}, "ringcentral.platform.platform.Platform.delete": {"tf": 7.211102550927978}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 3.7416573867739413}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 3.7416573867739413}, "ringcentral.sdk.SDK.__init__": {"tf": 7.681145747868608}, "ringcentral.sdk.SDK.platform": {"tf": 3.1622776601683795}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 3.1622776601683795}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 3.1622776601683795}, "ringcentral.sdk_test.TestSDK.test_instance": {"tf": 3.1622776601683795}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 3.4641016151377544}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 3.7416573867739413}, "ringcentral.test.testcase.TestCase.add": {"tf": 5.830951894845301}, "ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 3.7416573867739413}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 3.7416573867739413}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 5.656854249492381}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 5.477225575051661}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 6.164414002968976}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 3.7416573867739413}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 3.7416573867739413}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 2.8284271247461903}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 4.242640687119285}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 3.7416573867739413}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 4.242640687119285}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 4.69041575982343}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 3.7416573867739413}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 2.8284271247461903}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 3.7416573867739413}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 4.242640687119285}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 3.7416573867739413}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 3.7416573867739413}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 4.242640687119285}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 4.242640687119285}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 3.7416573867739413}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 3.1622776601683795}}, "df": 122, "s": {"2": {"5": {"6": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1}, "ringcentral.core.tostr": {"tf": 1}, "ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"ringcentral.http.api_exception.ApiException.api_response": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.ok": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.raw": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.body": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.text": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.error": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client.Client.load_response": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1}, "ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.platform.auth.Auth.data": {"tf": 1}, "ringcentral.platform.auth.Auth.reset": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token": {"tf": 1}, "ringcentral.platform.auth.Auth.token_type": {"tf": 1}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1}, "ringcentral.platform.platform.Platform.auth": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.sdk.SDK.platform": {"tf": 1}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1}, "ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}, "ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1}}, "df": 103}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}}, "df": 4}}}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}}, "df": 2}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_response.create_response": {"tf": 1}, "ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}}, "df": 3}}, "e": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}}, "df": 7}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 2}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.core.iterator": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {"ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}}, "df": 2}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}}, "df": 8}}}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}}, "df": 2}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_response.get_prepared_request_details": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client.Client.load_response": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}}, "df": 6}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}}, "df": 4}}}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}}, "df": 2}}}}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_response.create_response": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}}, "df": 6}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1}}, "df": 2}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {"ringcentral.http.json_object.safe_name": {"tf": 1}}, "df": 1, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception.ApiException.__init__": {"tf": 1}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.post": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.put": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.patch": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.delete": {"tf": 1.7320508075688772}, "ringcentral.sdk.SDK.__init__": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}}, "df": 20}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 4}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}}, "df": 8}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_response_test.create_response": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}}, "df": 7}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}}, "df": 6}}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1}}, "df": 2}}}}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}}, "df": 1}}}}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}, "ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1}}, "df": 23}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}, "ringcentral.test.testcase.TestCase.add": {"tf": 1}}, "df": 10}, "i": {"docs": {"ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 5}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}}, "df": 6}}}}}, "d": {"docs": {"ringcentral.http.json_object.unfold": {"tf": 1}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"ringcentral.platform.auth.Auth.set_data": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}}, "df": 2}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}}, "df": 7}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}}, "df": 2}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}}, "df": 2}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.__init__": {"tf": 1}, "ringcentral.sdk.SDK.__init__": {"tf": 1}}, "df": 2}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1}, "ringcentral.platform.platform.Platform.get": {"tf": 1}, "ringcentral.platform.platform.Platform.post": {"tf": 1}, "ringcentral.platform.platform.Platform.put": {"tf": 1}, "ringcentral.platform.platform.Platform.patch": {"tf": 1}, "ringcentral.platform.platform.Platform.delete": {"tf": 1}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}}, "df": 9}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}}, "df": 2}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1}}, "df": 7}}}}}}, "j": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}}, "df": 2}, "n": {"docs": {"ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1}}, "df": 2}}, "w": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}}, "df": 1}, "e": {"docs": {}, "df": 0, "b": {"docs": {"ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1}}, "df": 1}}}}}, "bases": {"root": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}}, "df": 1}}}}}}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}}, "df": 6}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}}, "df": 6, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1.4142135623730951}}, "df": 3}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}}, "df": 3}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 1}}}}}}}}}}, "doc": {"root": {"0": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}, "2": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}, "3": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}, "docs": {"ringcentral": {"tf": 1.7320508075688772}, "ringcentral.core": {"tf": 1.7320508075688772}, "ringcentral.core.is_third": {"tf": 1.7320508075688772}, "ringcentral.core.urlencode": {"tf": 5.0990195135927845}, "ringcentral.core.iterator": {"tf": 4.795831523312719}, "ringcentral.core.base64encode": {"tf": 3.4641016151377544}, "ringcentral.core.tostr": {"tf": 1.7320508075688772}, "ringcentral.core.clean_decrypted": {"tf": 3.4641016151377544}, "ringcentral.http": {"tf": 1.7320508075688772}, "ringcentral.http.api_exception": {"tf": 1.7320508075688772}, "ringcentral.http.api_exception.ApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_exception.ApiException.__init__": {"tf": 1.7320508075688772}, "ringcentral.http.api_exception.ApiException.api_response": {"tf": 1.7320508075688772}, "ringcentral.http.api_exception_test": {"tf": 1.7320508075688772}, "ringcentral.http.api_exception_test.json_headers": {"tf": 1.7320508075688772}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 5.656854249492381}, "ringcentral.http.api_exception_test.TestApiException.test_simple": {"tf": 1.7320508075688772}, "ringcentral.http.api_response": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.get_prepared_request_details": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.__init__": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.ok": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.raw": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.body": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.text": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.json_dict": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.json": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.multipart": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.error": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.request": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.ApiResponse.response": {"tf": 1.7320508075688772}, "ringcentral.http.api_response.create_response": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.multipart_headers": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 5.656854249492381}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_with_error": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse.test_multipart_bad_response": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.create_response": {"tf": 1.7320508075688772}, "ringcentral.http.client": {"tf": 1.7320508075688772}, "ringcentral.http.client.Client": {"tf": 1.7320508075688772}, "ringcentral.http.client.Client.send": {"tf": 3.605551275463989}, "ringcentral.http.client.Client.load_response": {"tf": 1.7320508075688772}, "ringcentral.http.client.Client.create_request": {"tf": 3.7416573867739413}, "ringcentral.http.client_test": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.body": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 5.656854249492381}, "ringcentral.http.client_test.TestClient.test_create_request_with_query_string": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_url": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_json_default": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient.test_create_request_encode_body_alternative": {"tf": 1.7320508075688772}, "ringcentral.http.json_object": {"tf": 1.7320508075688772}, "ringcentral.http.json_object.PYTHON_KEYWORDS": {"tf": 1.7320508075688772}, "ringcentral.http.json_object.JsonObject": {"tf": 1.7320508075688772}, "ringcentral.http.json_object.safe_name": {"tf": 1.7320508075688772}, "ringcentral.http.json_object.unfold": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder.MultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder.MultipartBuilder.__init__": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder.MultipartBuilder.set_multipart_mixed": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder.MultipartBuilder.set_body": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder.MultipartBuilder.body": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder.MultipartBuilder.contents": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 6.324555320336759}, "ringcentral.http.multipart_builder.MultipartBuilder.request": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.MockPlatform": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.MockPlatform.create_url": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 5.656854249492381}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_add": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder.test_multipart_mixed": {"tf": 1.7320508075688772}, "ringcentral.platform": {"tf": 1.7320508075688772}, "ringcentral.platform.auth": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.RELEASE_TIMEOUT": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth.set_data": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth.data": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth.reset": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth.access_token": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth.refresh_token": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth.token_type": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth.access_token_valid": {"tf": 1.7320508075688772}, "ringcentral.platform.auth.Auth.refresh_token_valid": {"tf": 1.7320508075688772}, "ringcentral.platform.events": {"tf": 1.7320508075688772}, "ringcentral.platform.events.Events": {"tf": 3.4641016151377544}, "ringcentral.platform.events.Events.refreshSuccess": {"tf": 1.7320508075688772}, "ringcentral.platform.events.Events.refreshError": {"tf": 1.7320508075688772}, "ringcentral.platform.events.Events.loginSuccess": {"tf": 1.7320508075688772}, "ringcentral.platform.events.Events.loginError": {"tf": 1.7320508075688772}, "ringcentral.platform.events.Events.logoutSuccess": {"tf": 1.7320508075688772}, "ringcentral.platform.events.Events.logoutError": {"tf": 1.7320508075688772}, "ringcentral.platform.platform": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.ACCOUNT_ID": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.ACCOUNT_PREFIX": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.URL_PREFIX": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.TOKEN_ENDPOINT": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.REVOKE_ENDPOINT": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.AUTHORIZE_ENDPOINT": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.API_VERSION": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.ACCESS_TOKEN_TTL": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.REFRESH_TOKEN_TTL": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.KNOWN_PREFIXES": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.__init__": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.auth": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 4.69041575982343}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 3.3166247903554}, "ringcentral.platform.platform.Platform.login_url": {"tf": 3.605551275463989}, "ringcentral.platform.platform.Platform.login": {"tf": 5.196152422706632}, "ringcentral.platform.platform.Platform.refresh": {"tf": 4.358898943540674}, "ringcentral.platform.platform.Platform.logout": {"tf": 4.358898943540674}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 4.58257569495584}, "ringcentral.platform.platform.Platform.send_request": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.get": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.post": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.put": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.patch": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.delete": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 5.656854249492381}, "ringcentral.platform.platform_test.TestPlatform.test_key": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_login": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_login_code": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_login_fail": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_login_code_redirect": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_refresh_with_outdated_token": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_logged_in": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_manual_refresh": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.skip_test_automatic_refresh": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_logout": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_api_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_api_url_custom_prefixes": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_delete_with_body": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform.test_delete_without_body": {"tf": 1.7320508075688772}, "ringcentral.sdk": {"tf": 1.7320508075688772}, "ringcentral.sdk.SDK": {"tf": 1.7320508075688772}, "ringcentral.sdk.SDK.__init__": {"tf": 1.7320508075688772}, "ringcentral.sdk.SDK.platform": {"tf": 1.7320508075688772}, "ringcentral.sdk.SDK.create_web_socket_client": {"tf": 1.7320508075688772}, "ringcentral.sdk.SDK.create_multipart_builder": {"tf": 1.7320508075688772}, "ringcentral.sdk_test": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 5.656854249492381}, "ringcentral.sdk_test.TestSDK.test_instance": {"tf": 1.7320508075688772}, "ringcentral.test": {"tf": 1.7320508075688772}, "ringcentral.test.spy": {"tf": 1.7320508075688772}, "ringcentral.test.spy.Spy": {"tf": 1.7320508075688772}, "ringcentral.test.spy.Spy.args": {"tf": 1.7320508075688772}, "ringcentral.test.testcase": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 5.656854249492381}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.get_sdk": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.add": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.authentication_mock": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.logout_mock": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.presence_subscription_mock": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.refresh_mock": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.subscription_mock": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.delete_mock_with_body": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.delete_mock_without_body": {"tf": 1.7320508075688772}, "ringcentral.websocket": {"tf": 1.7320508075688772}, "ringcentral.websocket.events": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 4.58257569495584}, "ringcentral.websocket.events.WebSocketEvents.getTokenError": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.createConnectionError": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.connectionCreated": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.closeConnectionError": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.recoverConnectionError": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.receiveMessage": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.sendMessageError": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.connectionNotReady": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.createSubscriptionError": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.updateSubscriptionError": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.removeSubscriptionError": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.subscriptionCreated": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.subscriptionUpdated": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.subscriptionRemoved": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents.receiveSubscriptionNotification": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.__init__": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 3.7416573867739413}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 3.4641016151377544}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 3.7416573867739413}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection_info": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 4.123105625617661}, "ringcentral.websocket.web_socket_client.WebSocketClient.recover_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 4}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 4}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 4.123105625617661}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 3.605551275463989}, "ringcentral.websocket.web_socket_subscription": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.__init__": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.on_message": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.register": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.add_events": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_events": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.subscribe": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.update": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.remove": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.set_subscription": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.get_subscription_info": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.reset": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription.destroy": {"tf": 1.7320508075688772}}, "df": 206, "e": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}}, "df": 1, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1}}, "df": 2}, "d": {"docs": {"ringcentral.core.urlencode": {"tf": 1.7320508075688772}, "ringcentral.core.base64encode": {"tf": 1.4142135623730951}}, "df": 2}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 2, "s": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}}}, "d": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 2, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 2}}}}}}}, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.4142135623730951}}, "df": 19, "s": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}}, "df": 2}}}}}}, "l": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 2}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 2}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}}, "df": 1}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 2}}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7, "d": {"docs": {"ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}, "d": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.platform.events.Events": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 2.8284271247461903}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.4142135623730951}}, "df": 13, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.events.Events": {"tf": 2}, "ringcentral.platform.platform.Platform": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 3.872983346207417}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}}, "df": 16, "s": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 2}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 2}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 5}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 1, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 1}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 1}}}}}}}}}}}, "t": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}}, "df": 1, "h": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 2}, "ringcentral.core.iterator": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1.7320508075688772}, "ringcentral.core.clean_decrypted": {"tf": 1.7320508075688772}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 3.872983346207417}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 3.872983346207417}, "ringcentral.http.client.Client.send": {"tf": 2.23606797749979}, "ringcentral.http.client.Client.create_request": {"tf": 2}, "ringcentral.http.client_test.TestClient": {"tf": 3.872983346207417}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 3.872983346207417}, "ringcentral.platform.platform.Platform.create_url": {"tf": 4}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 2.449489742783178}, "ringcentral.platform.platform.Platform.login_url": {"tf": 3}, "ringcentral.platform.platform.Platform.login": {"tf": 4.47213595499958}, "ringcentral.platform.platform.Platform.refresh": {"tf": 3.4641016151377544}, "ringcentral.platform.platform.Platform.logout": {"tf": 3.3166247903554}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 2.8284271247461903}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 3.872983346207417}, "ringcentral.sdk_test.TestSDK": {"tf": 3.872983346207417}, "ringcentral.test.testcase.TestCase": {"tf": 3.872983346207417}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 2}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 2}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 2.6457513110645907}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 2.6457513110645907}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 3.3166247903554}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 3.4641016151377544}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 3.4641016151377544}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 3.1622776601683795}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 2.8284271247461903}}, "df": 30, "i": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 12}, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.core.iterator": {"tf": 2.23606797749979}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 9}, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 2}}}}}}}}, "o": {"docs": {"ringcentral.core.urlencode": {"tf": 1.4142135623730951}, "ringcentral.core.base64encode": {"tf": 1}, "ringcentral.core.clean_decrypted": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 2.23606797749979}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 2.23606797749979}, "ringcentral.http.client_test.TestClient": {"tf": 2.23606797749979}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 2.23606797749979}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 2.23606797749979}, "ringcentral.sdk_test.TestSDK": {"tf": 2.23606797749979}, "ringcentral.test.testcase.TestCase": {"tf": 2.23606797749979}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 2}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.4142135623730951}}, "df": 26, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 2.23606797749979}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.refresh": {"tf": 2.6457513110645907}, "ringcentral.platform.platform.Platform.logout": {"tf": 2}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 2}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 2.449489742783178}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.7320508075688772}}, "df": 9, "s": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 2.8284271247461903}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 2.8284271247461903}, "ringcentral.http.client_test.TestClient": {"tf": 2.8284271247461903}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 2.8284271247461903}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 2.8284271247461903}, "ringcentral.sdk_test.TestSDK": {"tf": 2.8284271247461903}, "ringcentral.test.testcase.TestCase": {"tf": 2.8284271247461903}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 8, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}}, "df": 7}}}}, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}, "x": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 1}}}}}}}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 1, "s": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 3}}, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 11}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 3.872983346207417}}, "df": 1}}}}}}}}}, "g": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 3, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 2}}}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}}, "df": 1}}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 3, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.core.urlencode": {"tf": 1.7320508075688772}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 3}}}}}}}}, "f": {"docs": {}, "df": 0, "f": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}}}}}}, "f": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 2.6457513110645907}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}}, "df": 12}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7}}}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 2}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.platform.events.Events": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.4142135623730951}}, "df": 13}}}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 5}}}, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 1, "n": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 1}}}}, "s": {"2": {"5": {"6": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0}, "docs": {}, "df": 0}, "docs": {"ringcentral.core.urlencode": {"tf": 1.4142135623730951}, "ringcentral.core.base64encode": {"tf": 1.4142135623730951}, "ringcentral.core.clean_decrypted": {"tf": 1.4142135623730951}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 11, "t": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1.4142135623730951}, "ringcentral.core.clean_decrypted": {"tf": 1.4142135623730951}, "ringcentral.http.client.Client.create_request": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events": {"tf": 2.449489742783178}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login_url": {"tf": 2.23606797749979}, "ringcentral.platform.platform.Platform.login": {"tf": 2.6457513110645907}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 3.872983346207417}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}}, "df": 10, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.core.urlencode": {"tf": 1.4142135623730951}, "ringcentral.core.base64encode": {"tf": 1.7320508075688772}, "ringcentral.core.clean_decrypted": {"tf": 1.7320508075688772}}, "df": 3}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1}}, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1.4142135623730951}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 5}}}, "y": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}, "l": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 1}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}}, "df": 7}}}}}, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.events.Events": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 7, "l": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 2}}, "df": 1}}}}}}}}}}, "b": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 2.6457513110645907}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 2.6457513110645907}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 2.23606797749979}}, "df": 4, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 1, "d": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7, "u": {"docs": {}, "df": 0, "p": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}}, "df": 10}}, "n": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.7320508075688772}}, "df": 4, "s": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.4142135623730951}}, "df": 5}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}, "t": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 2}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 3}}}}}, "o": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7, "m": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.platform.platform.Platform": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}}, "df": 3}}}}}, "d": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}}, "df": 1}}, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.7320508075688772}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 2.449489742783178}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 2.449489742783178}, "ringcentral.http.client_test.TestClient": {"tf": 2.449489742783178}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 2.449489742783178}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 2.449489742783178}, "ringcentral.sdk_test.TestSDK": {"tf": 2.449489742783178}, "ringcentral.test.testcase.TestCase": {"tf": 2.449489742783178}}, "df": 10, "t": {"docs": {}, "df": 0, "o": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1}}, "df": 2}}, "p": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 10, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}}, "df": 7, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 8}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 2}}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1}, "d": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1}}}}}}}, "f": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2.449489742783178}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 2.23606797749979}, "ringcentral.platform.platform.Platform.login": {"tf": 2.449489742783178}, "ringcentral.platform.platform.Platform.refresh": {"tf": 2}, "ringcentral.platform.platform.Platform.logout": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 2.449489742783178}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 2.23606797749979}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.7320508075688772}}, "df": 25}, "s": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1.4142135623730951}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 2}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 2}, "ringcentral.http.client_test.TestClient": {"tf": 2}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 2}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 2}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 3.1622776601683795}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 2}, "ringcentral.sdk_test.TestSDK": {"tf": 2}, "ringcentral.test.testcase.TestCase": {"tf": 2}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 2.6457513110645907}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 2.23606797749979}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 2.23606797749979}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.4142135623730951}}, "df": 21, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {"ringcentral.core.iterator": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 13, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.core.iterator": {"tf": 1.7320508075688772}}, "df": 1}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.core.iterator": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.iterator": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.iterator": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.iterator": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}}}}}}}, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}}, "df": 1}}, "a": {"docs": {"ringcentral.core.urlencode": {"tf": 1.7320508075688772}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 2}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 2}, "ringcentral.http.client_test.TestClient": {"tf": 2}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 2}, "ringcentral.platform.events.Events": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2.23606797749979}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 2}, "ringcentral.sdk_test.TestSDK": {"tf": 2}, "ringcentral.test.testcase.TestCase": {"tf": 2}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1.4142135623730951}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 3.605551275463989}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 2.23606797749979}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}}, "df": 19, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}}}}}}}}, "n": {"docs": {"ringcentral.core.iterator": {"tf": 2}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.events.Events": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 3}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.7320508075688772}}, "df": 22, "d": {"docs": {"ringcentral.core.urlencode": {"tf": 1.4142135623730951}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 2}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 22}, "y": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 18}}, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logout": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.7320508075688772}}, "df": 6}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 2}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}}, "df": 1}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}}, "df": 8}, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}, "s": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 11}}}, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 10, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 2}}}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}}, "df": 3, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 2}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 3}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 6}}}}}}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}}}}}}, "t": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 2, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 9}}}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1.7320508075688772}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.7320508075688772}}, "df": 5, "s": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 5}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}}}, "d": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 2.449489742783178}}, "df": 1, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 8, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 2}}}, "s": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1}}}, "p": {"docs": {}, "df": 0, "i": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}}, "df": 1}}}}}}}}}}, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.4142135623730951}}, "df": 4}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.core.urlencode": {"tf": 1.4142135623730951}, "ringcentral.http.client.Client.create_request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.create_url": {"tf": 3.4641016151377544}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 2}}, "df": 6, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {"ringcentral.core.urlencode": {"tf": 2}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 2}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.7320508075688772}}, "df": 5}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 1, "d": {"docs": {"ringcentral.core.iterator": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 8}, "r": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}}, "df": 5, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 2.23606797749979}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logout": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 13}}}}, "p": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 8, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}}, "df": 2}}, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 2}}, "df": 1, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}}, "df": 1, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}}, "df": 2}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 2}}, "df": 1, "s": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1}, "ringcentral.core.clean_decrypted": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}}, "df": 8}}}}}, "s": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 1.4142135623730951}}, "df": 1}}, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1.4142135623730951}}, "df": 2}}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 2.23606797749979}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "x": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}}, "df": 1, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 2.449489742783178}, "ringcentral.platform.platform.Platform.login": {"tf": 2}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}}, "df": 5}}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.4142135623730951}}, "df": 12}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 2}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.core.urlencode": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}}, "df": 4}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 2}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 2}}}}, "k": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}}, "df": 7}}}, "s": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": null}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": null}, "ringcentral.http.client_test.TestClient": {"tf": null}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": null}, "ringcentral.platform.platform_test.TestPlatform": {"tf": null}, "ringcentral.sdk_test.TestSDK": {"tf": null}, "ringcentral.test.testcase.TestCase": {"tf": null}}, "df": 7}}, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "s": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 3}}}}}}}, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 2.6457513110645907}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 2.449489742783178}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 2.23606797749979}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 2.23606797749979}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.7320508075688772}}, "df": 6, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 2}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 2.23606797749979}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 9}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.7320508075688772}}, "df": 2}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}}, "df": 5}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 2}}, "df": 1}}}}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 11, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 2}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7}}}, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}}, "df": 7}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 2}}}, "b": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 11, "s": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.4142135623730951}}, "df": 3, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 3}}}}}}}}}}}}}}}, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1.4142135623730951}}, "df": 1}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1.4142135623730951}}, "df": 1}}, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "v": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1}}, "df": 1}}}}}}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 4}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 4, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1.4142135623730951}}, "df": 2}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 3}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.base64encode": {"tf": 1}, "ringcentral.core.clean_decrypted": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 3}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 3}, "ringcentral.http.client_test.TestClient": {"tf": 3}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 3}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2.23606797749979}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 3}, "ringcentral.sdk_test.TestSDK": {"tf": 3}, "ringcentral.test.testcase.TestCase": {"tf": 3}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}}, "df": 15, "t": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"6": {"4": {"docs": {"ringcentral.core.base64encode": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {}, "df": 0}, "docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 9, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 4}}}}, "y": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 2.23606797749979}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 2.23606797749979}, "ringcentral.http.client_test.TestClient": {"tf": 2.23606797749979}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 2.23606797749979}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 2.23606797749979}, "ringcentral.sdk_test.TestSDK": {"tf": 2.23606797749979}, "ringcentral.test.testcase.TestCase": {"tf": 2.23606797749979}}, "df": 12}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 4}}, "o": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1.4142135623730951}, "ringcentral.core.base64encode": {"tf": 1}, "ringcentral.core.clean_decrypted": {"tf": 1}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}}, "df": 16}}}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 3}, "d": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 1}}}, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 2}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 3}}}, "s": {"docs": {"ringcentral.platform.events.Events": {"tf": 2.449489742783178}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 2}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.core.clean_decrypted": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 2}}}, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 1, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.4142135623730951}}, "df": 1, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}}, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logout": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 5}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 1}}}}}}, "w": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 1, "s": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 3}}}, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 1}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 2}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 8}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.client.Client.send": {"tf": 2}, "ringcentral.http.client.Client.create_request": {"tf": 2.449489742783178}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.logout": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 2.23606797749979}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 8, "s": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1, "y": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 2.23606797749979}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 2}}, "df": 4}}}, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.events.Events": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.refresh": {"tf": 2.8284271247461903}}, "df": 3, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 2}}}}, "s": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 1}, "d": {"docs": {"ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}}, "df": 2, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 2}}}}}}}, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 2}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 1, "d": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 1}}}}}}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.4142135623730951}}, "df": 14}, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}, "b": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1.4142135623730951}}, "df": 1}}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 9}}}}}}}, "w": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}}, "df": 2}}, "o": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 1, "r": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.4142135623730951}}, "df": 12, "e": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 15}, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}}}}}, "n": {"docs": {"ringcentral.http.api_exception.ApiException": {"tf": 1}}, "df": 1, "e": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}}, "df": 2}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 9, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 8}}}}}, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.core.urlencode": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.http.api_exception.ApiException": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client.Client.create_request": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 2}, "ringcentral.platform.platform.Platform.login": {"tf": 2.8284271247461903}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_subscription.WebSocketSubscription": {"tf": 1}}, "df": 16, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.core.base64encode": {"tf": 1}}, "df": 1, "s": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7}}}}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1.4142135623730951}}, "df": 1, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "k": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}, "s": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 3}}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 3}}}}, "o": {"docs": {}, "df": 0, "f": {"docs": {"ringcentral.core.urlencode": {"tf": 1}, "ringcentral.core.iterator": {"tf": 1.4142135623730951}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 2.6457513110645907}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 2.6457513110645907}, "ringcentral.http.client_test.TestClient": {"tf": 2.6457513110645907}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 2.6457513110645907}, "ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 2.6457513110645907}, "ringcentral.sdk_test.TestSDK": {"tf": 2.6457513110645907}, "ringcentral.test.testcase.TestCase": {"tf": 2.6457513110645907}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}}, "df": 17}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.core.iterator": {"tf": 1.7320508075688772}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}}, "df": 3, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.core.iterator": {"tf": 1}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1}}, "df": 2}}}}}}}}, "b": {"docs": {}, "df": 0, "j": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1.4142135623730951}}, "df": 1, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.core.iterator": {"tf": 1}, "ringcentral.http.client.Client.send": {"tf": 1.4142135623730951}, "ringcentral.http.client.Client.create_request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 8, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1}}, "df": 1}}}}}, "w": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}, "r": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 7, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 11}, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1}}, "df": 1, "s": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 2.8284271247461903}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.4142135623730951}}, "df": 12}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.login": {"tf": 2.6457513110645907}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}}, "df": 7}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 2, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 1, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 3}}}}}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.core.iterator": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}}, "df": 2}, "v": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 8}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {"ringcentral.http.client.Client.send": {"tf": 1.7320508075688772}, "ringcentral.http.client.Client.create_request": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2}}, "df": 3, "s": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1.7320508075688772}}, "df": 2}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1.4142135623730951}}, "df": 2}}}}, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 2}}}}}}}}}, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.core.iterator": {"tf": 1}, "ringcentral.http.api_exception_test.TestApiException": {"tf": 2.23606797749979}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 2.23606797749979}, "ringcentral.http.client.Client.create_request": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 2.23606797749979}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 2.23606797749979}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2}, "ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 2.23606797749979}, "ringcentral.sdk_test.TestSDK": {"tf": 2.23606797749979}, "ringcentral.test.testcase.TestCase": {"tf": 2.23606797749979}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1.4142135623730951}}, "df": 15, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 2.449489742783178}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 2.449489742783178}, "ringcentral.http.client_test.TestClient": {"tf": 2.449489742783178}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 2.449489742783178}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 2.449489742783178}, "ringcentral.sdk_test.TestSDK": {"tf": 2.449489742783178}, "ringcentral.test.testcase.TestCase": {"tf": 2.449489742783178}}, "df": 8}}}}, "a": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 2}}, "df": 10, "s": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 8}}}}}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 2}}}}}}}}, "a": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}, "n": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.4142135623730951}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.4142135623730951}, "ringcentral.http.client_test.TestClient": {"tf": 1.4142135623730951}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.4142135623730951}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.4142135623730951}, "ringcentral.sdk_test.TestSDK": {"tf": 1.4142135623730951}, "ringcentral.test.testcase.TestCase": {"tf": 1.4142135623730951}}, "df": 7}}, "x": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "f": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 2}}}}}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}}, "df": 3}}}}}}}, "s": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1}}}}}}}}, "w": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.events.WebSocketEvents": {"tf": 3.872983346207417}}, "df": 9}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.create_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 9}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 8}}, "l": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 3}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1.7320508075688772}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1.7320508075688772}, "ringcentral.http.client_test.TestClient": {"tf": 1.7320508075688772}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1.7320508075688772}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2.23606797749979}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1.7320508075688772}, "ringcentral.sdk_test.TestSDK": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase": {"tf": 1.7320508075688772}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}}, "df": 10}}, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.platform.platform.Platform.create_url": {"tf": 2}, "ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.refresh": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}, "ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}, "ringcentral.test.testcase.TestCase.__init__": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.7320508075688772}}, "df": 9}}}, "/": {"docs": {}, "df": 0, "o": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "b": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1}}, "df": 2, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 3}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_new_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.get_web_socket_token": {"tf": 2}, "ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 2}, "ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1.7320508075688772}, "ringcentral.websocket.web_socket_client.WebSocketClient.send_message": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 2.23606797749979}, "ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1.7320508075688772}}, "df": 9, "e": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.events.WebSocketEvents": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.remove_subscription": {"tf": 1}}, "df": 1}}, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1.4142135623730951}}, "df": 1}}, "y": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.close_connection": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1.4142135623730951}}, "df": 1}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.events.Events": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login_url": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.login": {"tf": 1.7320508075688772}}, "df": 3, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 2}}}}}}}, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.events.Events": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.logout": {"tf": 2}}, "df": 2, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 2}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"ringcentral.platform.events.Events": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 2}}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"ringcentral.platform.platform.Platform.logged_in": {"tf": 1.4142135623730951}}, "df": 1}}}, "s": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}, "ringcentral.platform.platform.Platform.logout": {"tf": 1}}, "df": 2}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"ringcentral.http.api_exception_test.TestApiException": {"tf": 1}, "ringcentral.http.api_response_test.TestApiResponse": {"tf": 1}, "ringcentral.http.client_test.TestClient": {"tf": 1}, "ringcentral.http.multipart_builder_test.TestMultipartBuilder": {"tf": 1}, "ringcentral.platform.platform_test.TestPlatform": {"tf": 1}, "ringcentral.sdk_test.TestSDK": {"tf": 1}, "ringcentral.test.testcase.TestCase": {"tf": 1}}, "df": 7}}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.create_subscription": {"tf": 1.4142135623730951}, "ringcentral.websocket.web_socket_client.WebSocketClient.update_subscription": {"tf": 1.4142135623730951}}, "df": 2, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.websocket.web_socket_client.WebSocketClient.open_connection": {"tf": 1}}, "df": 1}}}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"ringcentral.http.client.Client.create_request": {"tf": 1.4142135623730951}, "ringcentral.platform.platform.Platform.create_url": {"tf": 2}}, "df": 2}}}}}, "x": {"docs": {"ringcentral.platform.platform.Platform.inflate_request": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "s": {"docs": {"ringcentral.http.multipart_builder.MultipartBuilder.add": {"tf": 1.7320508075688772}}, "df": 1}}}, "j": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "t": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 2}}, "df": 1}}, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"ringcentral.platform.platform.Platform.login": {"tf": 1}}, "df": 1}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + + // mirrored in build-search-index.js (part 1) + // Also split on html tags. this is a cheap heuristic, but good enough. + elasticlunr.tokenizer.setSeperator(/[\s\-.;&_'"=,()]+|<[^>]*>/); + + let searchIndex; + if (docs._isPrebuiltIndex) { + console.info("using precompiled search index"); + searchIndex = elasticlunr.Index.load(docs); + } else { + console.time("building search index"); + // mirrored in build-search-index.js (part 2) + searchIndex = elasticlunr(function () { + this.pipeline.remove(elasticlunr.stemmer); + this.pipeline.remove(elasticlunr.stopWordFilter); + this.addField("qualname"); + this.addField("fullname"); + this.addField("annotation"); + this.addField("default_value"); + this.addField("signature"); + this.addField("bases"); + this.addField("doc"); + this.setRef("fullname"); + }); + for (let doc of docs) { + searchIndex.addDoc(doc); + } + console.timeEnd("building search index"); + } + + return (term) => searchIndex.search(term, { + fields: { + qualname: {boost: 4}, + fullname: {boost: 2}, + annotation: {boost: 2}, + default_value: {boost: 2}, + signature: {boost: 2}, + bases: {boost: 2}, + doc: {boost: 1}, + }, + expand: true + }); +})(); \ No newline at end of file diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 224a779..0000000 --- a/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[metadata] -description-file = README.md \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index afa1f31..0000000 --- a/setup.py +++ /dev/null @@ -1,16 +0,0 @@ -from setuptools import setup, find_packages - -VERSION = '0.9.2' - -setup( - name='ringcentral', - packages=find_packages(exclude=[]), - version=VERSION, - description='RingCentral Python SDK', - author='Kirill Konshin', - url='https://github.com/ringcentral/ringcentral-python', - download_url='https://github.com/ringcentral/ringcentral-python/tarball/%s' % VERSION, - keywords=['sdk', 'ringcentral', 'connect', 'platform', 'api', 'python'], - install_requires=[i.strip() for i in open('requirements.txt').readlines()], - classifiers=[] -)