{"action":"created","comment":{"url":"https://api.github.com/repos/Azure/azure-sdk/pulls/comments/331649798","pull_request_review_id":297670440,"id":331649798,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMzMTY0OTc5OA==","diff_hunk":"@@ -174,6 +174,60 @@ For methods that combine multiple requests into a single call:\n \n Such usage can cause confusion and will inevitably have to be changed on a per-language basis, which can cause consistency problems.\n \n+## Conditional requests\n+\n+[Conditional requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Conditional_requests) are normally performed using HTTP headers.  The primary usage provides headers that match the `ETag` to some known value.  The `ETag` is an opaque identifier that represents a single version of a resource. For example, adding the following header will translate to \"if the record's version, specified by the `ETag`, is not the same\".\n+\n+{% highlight text %}\n+If-Not-Match: \"etag-value\"\n+{% endhighlight %}\n+\n+With headers, tests are possible for the following:\n+\n+* Unconditionally (no additional headers)\n+* If (not) modified since a version (`If-Match` and `If-Not-Match`)\n+* If (not) modified since a date (`If-Updated-Since` and `If-Not-Updated-Since`)\n+* If (not) present (`If-Match` and `If-Not-Match` with a `ETag=*` value)\n+\n+Not all services support all of these semantics, and may not support any of them.  Developers have varying levels of understanding of the `ETag` and conditional requests, so it is best to abstract this concept from the API surface.  There are two types of conditional requests we need to be concerned with:\n+\n+**Safe conditional requests** (e.g. GET)\n+\n+These are typically used to save bandwidth in an \"update cache\" scenario, i.e. I have a cached value, only send me the data if what the service has is newer than my copy. These return either a 200 or a 304 status code, indicating the value was not modified, which tells the caller that their cached value is up to date.\n+\n+**Unsafe conditional requests** (e.g. POST, PUT, or DELETE)\n+\n+These are typically used to prevent losing updates in an optimistic concurrency scenario, i.e. I've modified the cached value I'm holding, but don't update the service version unless it has the same copy I've got. These return either a success or a 412 error status code, indicating the value was modified, to indicate to the caller that they'll need to retry their update if they want it to succeed.\n+\n+These two cases are handled differently in client libraries.  However, the form of the call is the same in both cases.  The signature of the method should be:\n+\n+{% highlight text %}\n+client.<method>(<item>, requestOptions)\n+{% endhighlight %}\n+\n+The `requestOptions` field is a type `HttpRequestOptions` in typed languages that provides additional options (such as additional headers) to the HTTP requres.   Where possible, the `ETag` value will be retrieved from the item that is passed into the method.  The form of the method will be modified based on idiomatic usage patterns in the language of choice.  In cases where the `ETag` value is not known, the operation cannot be conditional.\n+\n+The library developer can add a boolean operator that is set to `true` to establish the condition.  For example, use one of the following boolean names instead of the `conditions` operator:\n+\n+* `onlyIfChanged` \n+* `onlyIfUnchanged`\n+* `onlyIfMissing`\n+* `onlyIfPresent`\n+\n+In all cases, the conditional expression is \"opt-in\".\n+\n+The return value from a conditional operation must be carefully considered.  For safe operators (e.g. GET), return a `Response<T>` from the conditional request.  However, throw an error if the `Value` is accessed, since there is no value in the body to reference.  For unsafe operators (e.g. PUT, DELETE, or POST), throw a specific error when a `Precondition Failed` or `Conflict` result is received.  This allows the consumer to do something different in the case of conflicting results.\n+\n+{% include requirement/SHOULD %} accept a `conditions` parameters (which takes an enumerated type) on service methods that allow a conditional check on the service. ","path":"docs/general/design.md","position":48,"original_position":48,"commit_id":"33d6a94181ea6d0a3b9416f816785ed4c42b981b","original_commit_id":"33d6a94181ea6d0a3b9416f816785ed4c42b981b","user":{"login":"JeffreyRichter","id":2274495,"node_id":"MDQ6VXNlcjIyNzQ0OTU=","avatar_url":"https://avatars3.githubusercontent.com/u/2274495?v=4","gravatar_id":"","url":"https://api.github.com/users/JeffreyRichter","html_url":"https://github.com/JeffreyRichter","followers_url":"https://api.github.com/users/JeffreyRichter/followers","following_url":"https://api.github.com/users/JeffreyRichter/following{/other_user}","gists_url":"https://api.github.com/users/JeffreyRichter/gists{/gist_id}","starred_url":"https://api.github.com/users/JeffreyRichter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeffreyRichter/subscriptions","organizations_url":"https://api.github.com/users/JeffreyRichter/orgs","repos_url":"https://api.github.com/users/JeffreyRichter/repos","events_url":"https://api.github.com/users/JeffreyRichter/events{/privacy}","received_events_url":"https://api.github.com/users/JeffreyRichter/received_events","type":"User","site_admin":false},"body":"typo: parameters --> parameter","created_at":"2019-10-04T19:17:56Z","updated_at":"2019-10-04T19:17:56Z","html_url":"https://github.com/Azure/azure-sdk/pull/646#discussion_r331649798","pull_request_url":"https://api.github.com/repos/Azure/azure-sdk/pulls/646","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Azure/azure-sdk/pulls/comments/331649798"},"html":{"href":"https://github.com/Azure/azure-sdk/pull/646#discussion_r331649798"},"pull_request":{"href":"https://api.github.com/repos/Azure/azure-sdk/pulls/646"}}},"pull_request":{"url":"https://api.github.com/repos/Azure/azure-sdk/pulls/646","id":321310549,"node_id":"MDExOlB1bGxSZXF1ZXN0MzIxMzEwNTQ5","html_url":"https://github.com/Azure/azure-sdk/pull/646","diff_url":"https://github.com/Azure/azure-sdk/pull/646.diff","patch_url":"https://github.com/Azure/azure-sdk/pull/646.patch","issue_url":"https://api.github.com/repos/Azure/azure-sdk/issues/646","number":646,"state":"open","locked":false,"title":"(#638) Added requirements for etag handling","user":{"login":"adrianhall","id":1489465,"node_id":"MDQ6VXNlcjE0ODk0NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/1489465?v=4","gravatar_id":"","url":"https://api.github.com/users/adrianhall","html_url":"https://github.com/adrianhall","followers_url":"https://api.github.com/users/adrianhall/followers","following_url":"https://api.github.com/users/adrianhall/following{/other_user}","gists_url":"https://api.github.com/users/adrianhall/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianhall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianhall/subscriptions","organizations_url":"https://api.github.com/users/adrianhall/orgs","repos_url":"https://api.github.com/users/adrianhall/repos","events_url":"https://api.github.com/users/adrianhall/events{/privacy}","received_events_url":"https://api.github.com/users/adrianhall/received_events","type":"User","site_admin":false},"body":"","created_at":"2019-09-25T15:32:49Z","updated_at":"2019-10-04T19:17:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5f1540d27bd6b2f5e9eeb699b7472965695d1e78","assignee":{"login":"adrianhall","id":1489465,"node_id":"MDQ6VXNlcjE0ODk0NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/1489465?v=4","gravatar_id":"","url":"https://api.github.com/users/adrianhall","html_url":"https://github.com/adrianhall","followers_url":"https://api.github.com/users/adrianhall/followers","following_url":"https://api.github.com/users/adrianhall/following{/other_user}","gists_url":"https://api.github.com/users/adrianhall/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianhall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianhall/subscriptions","organizations_url":"https://api.github.com/users/adrianhall/orgs","repos_url":"https://api.github.com/users/adrianhall/repos","events_url":"https://api.github.com/users/adrianhall/events{/privacy}","received_events_url":"https://api.github.com/users/adrianhall/received_events","type":"User","site_admin":false},"assignees":[{"login":"adrianhall","id":1489465,"node_id":"MDQ6VXNlcjE0ODk0NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/1489465?v=4","gravatar_id":"","url":"https://api.github.com/users/adrianhall","html_url":"https://github.com/adrianhall","followers_url":"https://api.github.com/users/adrianhall/followers","following_url":"https://api.github.com/users/adrianhall/following{/other_user}","gists_url":"https://api.github.com/users/adrianhall/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianhall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianhall/subscriptions","organizations_url":"https://api.github.com/users/adrianhall/orgs","repos_url":"https://api.github.com/users/adrianhall/repos","events_url":"https://api.github.com/users/adrianhall/events{/privacy}","received_events_url":"https://api.github.com/users/adrianhall/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"bterlson","id":11236,"node_id":"MDQ6VXNlcjExMjM2","avatar_url":"https://avatars0.githubusercontent.com/u/11236?v=4","gravatar_id":"","url":"https://api.github.com/users/bterlson","html_url":"https://github.com/bterlson","followers_url":"https://api.github.com/users/bterlson/followers","following_url":"https://api.github.com/users/bterlson/following{/other_user}","gists_url":"https://api.github.com/users/bterlson/gists{/gist_id}","starred_url":"https://api.github.com/users/bterlson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bterlson/subscriptions","organizations_url":"https://api.github.com/users/bterlson/orgs","repos_url":"https://api.github.com/users/bterlson/repos","events_url":"https://api.github.com/users/bterlson/events{/privacy}","received_events_url":"https://api.github.com/users/bterlson/received_events","type":"User","site_admin":false},{"login":"JonathanGiles","id":1427840,"node_id":"MDQ6VXNlcjE0Mjc4NDA=","avatar_url":"https://avatars3.githubusercontent.com/u/1427840?v=4","gravatar_id":"","url":"https://api.github.com/users/JonathanGiles","html_url":"https://github.com/JonathanGiles","followers_url":"https://api.github.com/users/JonathanGiles/followers","following_url":"https://api.github.com/users/JonathanGiles/following{/other_user}","gists_url":"https://api.github.com/users/JonathanGiles/gists{/gist_id}","starred_url":"https://api.github.com/users/JonathanGiles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JonathanGiles/subscriptions","organizations_url":"https://api.github.com/users/JonathanGiles/orgs","repos_url":"https://api.github.com/users/JonathanGiles/repos","events_url":"https://api.github.com/users/JonathanGiles/events{/privacy}","received_events_url":"https://api.github.com/users/JonathanGiles/received_events","type":"User","site_admin":false},{"login":"KrzysztofCwalina","id":9724236,"node_id":"MDQ6VXNlcjk3MjQyMzY=","avatar_url":"https://avatars0.githubusercontent.com/u/9724236?v=4","gravatar_id":"","url":"https://api.github.com/users/KrzysztofCwalina","html_url":"https://github.com/KrzysztofCwalina","followers_url":"https://api.github.com/users/KrzysztofCwalina/followers","following_url":"https://api.github.com/users/KrzysztofCwalina/following{/other_user}","gists_url":"https://api.github.com/users/KrzysztofCwalina/gists{/gist_id}","starred_url":"https://api.github.com/users/KrzysztofCwalina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KrzysztofCwalina/subscriptions","organizations_url":"https://api.github.com/users/KrzysztofCwalina/orgs","repos_url":"https://api.github.com/users/KrzysztofCwalina/repos","events_url":"https://api.github.com/users/KrzysztofCwalina/events{/privacy}","received_events_url":"https://api.github.com/users/KrzysztofCwalina/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Azure/azure-sdk/pulls/646/commits","review_comments_url":"https://api.github.com/repos/Azure/azure-sdk/pulls/646/comments","review_comment_url":"https://api.github.com/repos/Azure/azure-sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Azure/azure-sdk/issues/646/comments","statuses_url":"https://api.github.com/repos/Azure/azure-sdk/statuses/33d6a94181ea6d0a3b9416f816785ed4c42b981b","head":{"label":"adrianhall:etag-handling","ref":"etag-handling","sha":"33d6a94181ea6d0a3b9416f816785ed4c42b981b","user":{"login":"adrianhall","id":1489465,"node_id":"MDQ6VXNlcjE0ODk0NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/1489465?v=4","gravatar_id":"","url":"https://api.github.com/users/adrianhall","html_url":"https://github.com/adrianhall","followers_url":"https://api.github.com/users/adrianhall/followers","following_url":"https://api.github.com/users/adrianhall/following{/other_user}","gists_url":"https://api.github.com/users/adrianhall/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianhall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianhall/subscriptions","organizations_url":"https://api.github.com/users/adrianhall/orgs","repos_url":"https://api.github.com/users/adrianhall/repos","events_url":"https://api.github.com/users/adrianhall/events{/privacy}","received_events_url":"https://api.github.com/users/adrianhall/received_events","type":"User","site_admin":false},"repo":{"id":176997231,"node_id":"MDEwOlJlcG9zaXRvcnkxNzY5OTcyMzE=","name":"azure-sdk","full_name":"adrianhall/azure-sdk","private":false,"owner":{"login":"adrianhall","id":1489465,"node_id":"MDQ6VXNlcjE0ODk0NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/1489465?v=4","gravatar_id":"","url":"https://api.github.com/users/adrianhall","html_url":"https://github.com/adrianhall","followers_url":"https://api.github.com/users/adrianhall/followers","following_url":"https://api.github.com/users/adrianhall/following{/other_user}","gists_url":"https://api.github.com/users/adrianhall/gists{/gist_id}","starred_url":"https://api.github.com/users/adrianhall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrianhall/subscriptions","organizations_url":"https://api.github.com/users/adrianhall/orgs","repos_url":"https://api.github.com/users/adrianhall/repos","events_url":"https://api.github.com/users/adrianhall/events{/privacy}","received_events_url":"https://api.github.com/users/adrianhall/received_events","type":"User","site_admin":false},"html_url":"https://github.com/adrianhall/azure-sdk","description":"Azure SDK","fork":true,"url":"https://api.github.com/repos/adrianhall/azure-sdk","forks_url":"https://api.github.com/repos/adrianhall/azure-sdk/forks","keys_url":"https://api.github.com/repos/adrianhall/azure-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adrianhall/azure-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adrianhall/azure-sdk/teams","hooks_url":"https://api.github.com/repos/adrianhall/azure-sdk/hooks","issue_events_url":"https://api.github.com/repos/adrianhall/azure-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/adrianhall/azure-sdk/events","assignees_url":"https://api.github.com/repos/adrianhall/azure-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/adrianhall/azure-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/adrianhall/azure-sdk/tags","blobs_url":"https://api.github.com/repos/adrianhall/azure-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adrianhall/azure-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adrianhall/azure-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/adrianhall/azure-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adrianhall/azure-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/adrianhall/azure-sdk/languages","stargazers_url":"https://api.github.com/repos/adrianhall/azure-sdk/stargazers","contributors_url":"https://api.github.com/repos/adrianhall/azure-sdk/contributors","subscribers_url":"https://api.github.com/repos/adrianhall/azure-sdk/subscribers","subscription_url":"https://api.github.com/repos/adrianhall/azure-sdk/subscription","commits_url":"https://api.github.com/repos/adrianhall/azure-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/adrianhall/azure-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/adrianhall/azure-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/adrianhall/azure-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/adrianhall/azure-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/adrianhall/azure-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adrianhall/azure-sdk/merges","archive_url":"https://api.github.com/repos/adrianhall/azure-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adrianhall/azure-sdk/downloads","issues_url":"https://api.github.com/repos/adrianhall/azure-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/adrianhall/azure-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/adrianhall/azure-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/adrianhall/azure-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adrianhall/azure-sdk/labels{/name}","releases_url":"https://api.github.com/repos/adrianhall/azure-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/adrianhall/azure-sdk/deployments","created_at":"2019-03-21T17:54:00Z","updated_at":"2019-10-04T15:05:41Z","pushed_at":"2019-10-04T18:06:13Z","git_url":"git://github.com/adrianhall/azure-sdk.git","ssh_url":"git@github.com:adrianhall/azure-sdk.git","clone_url":"https://github.com/adrianhall/azure-sdk.git","svn_url":"https://github.com/adrianhall/azure-sdk","homepage":null,"size":2011,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":7,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"Azure:master","ref":"master","sha":"22025947fc4aa7187e11977a03e3c3a66947df42","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":152122018,"node_id":"MDEwOlJlcG9zaXRvcnkxNTIxMjIwMTg=","name":"azure-sdk","full_name":"Azure/azure-sdk","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-sdk","description":"Azure SDK","fork":false,"url":"https://api.github.com/repos/Azure/azure-sdk","forks_url":"https://api.github.com/repos/Azure/azure-sdk/forks","keys_url":"https://api.github.com/repos/Azure/azure-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Azure/azure-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Azure/azure-sdk/teams","hooks_url":"https://api.github.com/repos/Azure/azure-sdk/hooks","issue_events_url":"https://api.github.com/repos/Azure/azure-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/Azure/azure-sdk/events","assignees_url":"https://api.github.com/repos/Azure/azure-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/Azure/azure-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/Azure/azure-sdk/tags","blobs_url":"https://api.github.com/repos/Azure/azure-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Azure/azure-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Azure/azure-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/Azure/azure-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Azure/azure-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/Azure/azure-sdk/languages","stargazers_url":"https://api.github.com/repos/Azure/azure-sdk/stargazers","contributors_url":"https://api.github.com/repos/Azure/azure-sdk/contributors","subscribers_url":"https://api.github.com/repos/Azure/azure-sdk/subscribers","subscription_url":"https://api.github.com/repos/Azure/azure-sdk/subscription","commits_url":"https://api.github.com/repos/Azure/azure-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/Azure/azure-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/Azure/azure-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/Azure/azure-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/Azure/azure-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/Azure/azure-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Azure/azure-sdk/merges","archive_url":"https://api.github.com/repos/Azure/azure-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Azure/azure-sdk/downloads","issues_url":"https://api.github.com/repos/Azure/azure-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/Azure/azure-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/Azure/azure-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/Azure/azure-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Azure/azure-sdk/labels{/name}","releases_url":"https://api.github.com/repos/Azure/azure-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/Azure/azure-sdk/deployments","created_at":"2018-10-08T17:49:19Z","updated_at":"2019-10-04T15:05:00Z","pushed_at":"2019-10-04T18:07:07Z","git_url":"git://github.com/Azure/azure-sdk.git","ssh_url":"git@github.com:Azure/azure-sdk.git","clone_url":"https://github.com/Azure/azure-sdk.git","svn_url":"https://github.com/Azure/azure-sdk","homepage":null,"size":2023,"stargazers_count":55,"watchers_count":55,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":55,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":146,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":55,"open_issues":146,"watchers":55,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Azure/azure-sdk/pulls/646"},"html":{"href":"https://github.com/Azure/azure-sdk/pull/646"},"issue":{"href":"https://api.github.com/repos/Azure/azure-sdk/issues/646"},"comments":{"href":"https://api.github.com/repos/Azure/azure-sdk/issues/646/comments"},"review_comments":{"href":"https://api.github.com/repos/Azure/azure-sdk/pulls/646/comments"},"review_comment":{"href":"https://api.github.com/repos/Azure/azure-sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Azure/azure-sdk/pulls/646/commits"},"statuses":{"href":"https://api.github.com/repos/Azure/azure-sdk/statuses/33d6a94181ea6d0a3b9416f816785ed4c42b981b"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"JeffreyRichter"}}