{"action":"created","comment":{"url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/comments/277443164","pull_request_review_id":229257361,"id":277443164,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI3NzQ0MzE2NA==","diff_hunk":"@@ -0,0 +1,80 @@\n+# -------------------------------------------------------------------------\n+# Copyright (c) Microsoft Corporation. All rights reserved.\n+# Licensed under the MIT License. See License.txt in the project root for\n+# license information.\n+# --------------------------------------------------------------------------\n+\n+import logging\n+import json\n+from ..models.registration_result import RegistrationResult, RegistrationState\n+\n+logger = logging.getLogger(__name__)\n+\n+\n+class RequestResponseMachine(object):\n+    def __init__(self, state_based_provider):\n+\n+        self._state_based_provider = state_based_provider\n+        self._state_based_provider.on_state_based_provider_message_received = self._receive_response\n+\n+        self.on_response_received = None\n+\n+    def send_request(self, publish_action):\n+        \"\"\"\n+        :param publish_action: The publish action\n+        \"\"\"\n+        self.publish([publish_action])\n+\n+    def connect(self, callback=None, post_connect_actions=None):\n+        # TODO : MQTT Transport connect should take post connect actions.\n+        self._state_based_provider.connect(callback=callback, actions=post_connect_actions)\n+\n+    def disconnect(self, callback=None, pre_disconnect_actions=None):\n+        # TODO : MQTT Transport connect should take pre disconnect actions.\n+        self._state_based_provider.disconnect(callback=callback, actions=pre_disconnect_actions)\n+\n+    def publish(self, publish_actions=None):\n+        self._state_based_provider.publish(publish_actions)\n+\n+    def subscribe(self, subscribe_actions=None):\n+        self._state_based_provider.subscribe(subscribe_actions)\n+\n+    def _receive_response(self, topic, payload):\n+        \"\"\"\n+        Handler that processes the response from the service.\n+        :param topic: The topic in bytes name on which the message arrived on.\n+        :param payload: Payload in bytes of the message received.\n+        \"\"\"\n+        # \"\"\" Sample topic and payload\n+        # $dps/registrations/res/200/?$rid=28c32371-608c-4390-8da7-c712353c1c3b\n+        # {\"operationId\":\"4.550cb20c3349a409.390d2957-7b58-4701-b4f9-7fe848348f4a\",\"status\":\"assigning\"}\n+        # \"\"\"\n+        logger.info(\"\")\n+        topic_str = topic.decode(\"utf-8\")\n+        if topic_str.startswith(\"$dps/registrations/res/\"):\n+            topic_parts = topic_str.split(\"$\")\n+            rid_parts = topic_parts[2].split(\"=\")\n+            rid = rid_parts[1]\n+\n+        payload_str = payload.decode(\"utf-8\")\n+        decoded_result = json.loads(payload_str)\n+        decoded_state = (\n+            None\n+            if \"registrationState\" not in decoded_result\n+            else decoded_result[\"registrationState\"]\n+        )\n+        registration_state = None\n+        if decoded_state is not None:\n+            registration_state = RegistrationState(","path":"azure-iot-device/azure/iot/device/provisioning/internal/request_response_provider.py","position":68,"original_position":68,"commit_id":"34c729aee83c0e6ef6c6e11ec0bd82aef9d67633","original_commit_id":"34c729aee83c0e6ef6c6e11ec0bd82aef9d67633","user":{"login":"olivakar","id":5783914,"node_id":"MDQ6VXNlcjU3ODM5MTQ=","avatar_url":"https://avatars1.githubusercontent.com/u/5783914?v=4","gravatar_id":"","url":"https://api.github.com/users/olivakar","html_url":"https://github.com/olivakar","followers_url":"https://api.github.com/users/olivakar/followers","following_url":"https://api.github.com/users/olivakar/following{/other_user}","gists_url":"https://api.github.com/users/olivakar/gists{/gist_id}","starred_url":"https://api.github.com/users/olivakar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olivakar/subscriptions","organizations_url":"https://api.github.com/users/olivakar/orgs","repos_url":"https://api.github.com/users/olivakar/repos","events_url":"https://api.github.com/users/olivakar/events{/privacy}","received_events_url":"https://api.github.com/users/olivakar/received_events","type":"User","site_admin":false},"body":" are you referring to just registration state or the complete registration result ?\r\n\r\n---\r\nIn reply to: [277397350](https://github.com/Azure/azure-iot-sdk-python-preview/pull/81#discussion_r277397350) [](ancestors = 277397350)","created_at":"2019-04-22T21:24:55Z","updated_at":"2019-04-22T21:24:56Z","html_url":"https://github.com/Azure/azure-iot-sdk-python-preview/pull/81#discussion_r277443164","pull_request_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/81","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/comments/277443164"},"html":{"href":"https://github.com/Azure/azure-iot-sdk-python-preview/pull/81#discussion_r277443164"},"pull_request":{"href":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/81"}},"in_reply_to_id":277397350},"pull_request":{"url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/81","id":271788297,"node_id":"MDExOlB1bGxSZXF1ZXN0MjcxNzg4Mjk3","html_url":"https://github.com/Azure/azure-iot-sdk-python-preview/pull/81","diff_url":"https://github.com/Azure/azure-iot-sdk-python-preview/pull/81.diff","patch_url":"https://github.com/Azure/azure-iot-sdk-python-preview/pull/81.patch","issue_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues/81","number":81,"state":"open","locked":false,"title":"Polling + request response","user":{"login":"olivakar","id":5783914,"node_id":"MDQ6VXNlcjU3ODM5MTQ=","avatar_url":"https://avatars1.githubusercontent.com/u/5783914?v=4","gravatar_id":"","url":"https://api.github.com/users/olivakar","html_url":"https://github.com/olivakar","followers_url":"https://api.github.com/users/olivakar/followers","following_url":"https://api.github.com/users/olivakar/following{/other_user}","gists_url":"https://api.github.com/users/olivakar/gists{/gist_id}","starred_url":"https://api.github.com/users/olivakar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olivakar/subscriptions","organizations_url":"https://api.github.com/users/olivakar/orgs","repos_url":"https://api.github.com/users/olivakar/repos","events_url":"https://api.github.com/users/olivakar/events{/privacy}","received_events_url":"https://api.github.com/users/olivakar/received_events","type":"User","site_admin":false},"body":"There are some TODOS in places of the code where I am still unsure how to do certain things.  You guys can respond to those as well.\r\n\r\nThe `request_response_provider` may not be fully correct.\r\nI have copied over the `mqtt_transport` with only some parameter changes and have renamed it \r\nas `state_based_mqtt_provider`.\r\n\r\n","created_at":"2019-04-18T18:20:24Z","updated_at":"2019-04-22T21:24:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9af27c5b1085cb0b3be4c78f6922ad57f99ec677","assignee":null,"assignees":[],"requested_reviewers":[{"login":"cartertinney","id":3613133,"node_id":"MDQ6VXNlcjM2MTMxMzM=","avatar_url":"https://avatars3.githubusercontent.com/u/3613133?v=4","gravatar_id":"","url":"https://api.github.com/users/cartertinney","html_url":"https://github.com/cartertinney","followers_url":"https://api.github.com/users/cartertinney/followers","following_url":"https://api.github.com/users/cartertinney/following{/other_user}","gists_url":"https://api.github.com/users/cartertinney/gists{/gist_id}","starred_url":"https://api.github.com/users/cartertinney/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cartertinney/subscriptions","organizations_url":"https://api.github.com/users/cartertinney/orgs","repos_url":"https://api.github.com/users/cartertinney/repos","events_url":"https://api.github.com/users/cartertinney/events{/privacy}","received_events_url":"https://api.github.com/users/cartertinney/received_events","type":"User","site_admin":false},{"login":"pierreca","id":4979572,"node_id":"MDQ6VXNlcjQ5Nzk1NzI=","avatar_url":"https://avatars2.githubusercontent.com/u/4979572?v=4","gravatar_id":"","url":"https://api.github.com/users/pierreca","html_url":"https://github.com/pierreca","followers_url":"https://api.github.com/users/pierreca/followers","following_url":"https://api.github.com/users/pierreca/following{/other_user}","gists_url":"https://api.github.com/users/pierreca/gists{/gist_id}","starred_url":"https://api.github.com/users/pierreca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pierreca/subscriptions","organizations_url":"https://api.github.com/users/pierreca/orgs","repos_url":"https://api.github.com/users/pierreca/repos","events_url":"https://api.github.com/users/pierreca/events{/privacy}","received_events_url":"https://api.github.com/users/pierreca/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/81/commits","review_comments_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/81/comments","review_comment_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues/81/comments","statuses_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/statuses/34c729aee83c0e6ef6c6e11ec0bd82aef9d67633","head":{"label":"Azure:ok-dps-polling","ref":"ok-dps-polling","sha":"34c729aee83c0e6ef6c6e11ec0bd82aef9d67633","user":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"repo":{"id":148676866,"node_id":"MDEwOlJlcG9zaXRvcnkxNDg2NzY4NjY=","name":"azure-iot-sdk-python-preview","full_name":"Azure/azure-iot-sdk-python-preview","private":false,"owner":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Azure/azure-iot-sdk-python-preview","description":"Azure IoT SDK for Python - v2.0.0 Preview","fork":false,"url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview","forks_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/forks","keys_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/teams","hooks_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/hooks","issue_events_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues/events{/number}","events_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/events","assignees_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/assignees{/user}","branches_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/branches{/branch}","tags_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/tags","blobs_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/refs{/sha}","trees_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/statuses/{sha}","languages_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/languages","stargazers_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/stargazers","contributors_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/contributors","subscribers_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/subscribers","subscription_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/subscription","commits_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/commits{/sha}","git_commits_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/commits{/sha}","comments_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/comments{/number}","issue_comment_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues/comments{/number}","contents_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/contents/{+path}","compare_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/merges","archive_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/downloads","issues_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues{/number}","pulls_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls{/number}","milestones_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/milestones{/number}","notifications_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/labels{/name}","releases_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/releases{/id}","deployments_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/deployments","created_at":"2018-09-13T17:57:54Z","updated_at":"2019-04-19T12:38:55Z","pushed_at":"2019-04-22T20:58:01Z","git_url":"git://github.com/Azure/azure-iot-sdk-python-preview.git","ssh_url":"git@github.com:Azure/azure-iot-sdk-python-preview.git","clone_url":"https://github.com/Azure/azure-iot-sdk-python-preview.git","svn_url":"https://github.com/Azure/azure-iot-sdk-python-preview","homepage":null,"size":763,"stargazers_count":9,"watchers_count":9,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":4,"open_issues":7,"watchers":9,"default_branch":"master"}},"base":{"label":"Azure:master","ref":"master","sha":"2fd41eeac6e0c36430385798658013076dcce0dc","user":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"repo":{"id":148676866,"node_id":"MDEwOlJlcG9zaXRvcnkxNDg2NzY4NjY=","name":"azure-iot-sdk-python-preview","full_name":"Azure/azure-iot-sdk-python-preview","private":false,"owner":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Azure/azure-iot-sdk-python-preview","description":"Azure IoT SDK for Python - v2.0.0 Preview","fork":false,"url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview","forks_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/forks","keys_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/teams","hooks_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/hooks","issue_events_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues/events{/number}","events_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/events","assignees_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/assignees{/user}","branches_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/branches{/branch}","tags_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/tags","blobs_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/refs{/sha}","trees_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/statuses/{sha}","languages_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/languages","stargazers_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/stargazers","contributors_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/contributors","subscribers_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/subscribers","subscription_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/subscription","commits_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/commits{/sha}","git_commits_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/git/commits{/sha}","comments_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/comments{/number}","issue_comment_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues/comments{/number}","contents_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/contents/{+path}","compare_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/merges","archive_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/downloads","issues_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues{/number}","pulls_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls{/number}","milestones_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/milestones{/number}","notifications_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/labels{/name}","releases_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/releases{/id}","deployments_url":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/deployments","created_at":"2018-09-13T17:57:54Z","updated_at":"2019-04-19T12:38:55Z","pushed_at":"2019-04-22T20:58:01Z","git_url":"git://github.com/Azure/azure-iot-sdk-python-preview.git","ssh_url":"git@github.com:Azure/azure-iot-sdk-python-preview.git","clone_url":"https://github.com/Azure/azure-iot-sdk-python-preview.git","svn_url":"https://github.com/Azure/azure-iot-sdk-python-preview","homepage":null,"size":763,"stargazers_count":9,"watchers_count":9,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":4,"open_issues":7,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/81"},"html":{"href":"https://github.com/Azure/azure-iot-sdk-python-preview/pull/81"},"issue":{"href":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues/81"},"comments":{"href":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/issues/81/comments"},"review_comments":{"href":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/81/comments"},"review_comment":{"href":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/pulls/81/commits"},"statuses":{"href":"https://api.github.com/repos/Azure/azure-iot-sdk-python-preview/statuses/34c729aee83c0e6ef6c6e11ec0bd82aef9d67633"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"olivakar"}}