{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/issues/28","repository_url":"https://api.github.com/repos/GoogleCloudPlatform/cloud-diagnostics-common-nodejs","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/issues/28/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/issues/28/events","html_url":"https://github.com/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/pull/28","id":183495392,"number":28,"title":"Implemented reading key file/credentials config object for auth client","user":{"login":"kjin","id":2365820,"avatar_url":"https://avatars.githubusercontent.com/u/2365820?v=3","gravatar_id":"","url":"https://api.github.com/users/kjin","html_url":"https://github.com/kjin","followers_url":"https://api.github.com/users/kjin/followers","following_url":"https://api.github.com/users/kjin/following{/other_user}","gists_url":"https://api.github.com/users/kjin/gists{/gist_id}","starred_url":"https://api.github.com/users/kjin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kjin/subscriptions","organizations_url":"https://api.github.com/users/kjin/orgs","repos_url":"https://api.github.com/users/kjin/repos","events_url":"https://api.github.com/users/kjin/events{/privacy}","received_events_url":"https://api.github.com/users/kjin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-10-17T18:46:45Z","updated_at":"2016-10-20T02:47:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/pulls/28","html_url":"https://github.com/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/pull/28","diff_url":"https://github.com/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/pull/28.diff","patch_url":"https://github.com/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/pull/28.patch"},"body":"Major changes:\r\n* getApplicationDefaultAuth has been changed to getAuthClient, which optionally takes in a config object (but has an otherwise similar signature). It can read either the keyFile or credentials field from that object.\r\n* Global caching of auth client objects has been removed, as it would be more difficult to cache based on a key of { scope list, key file/credentials }. Instead, each call to authorizedRequestFactory() now creates an auth client object in a new closure.\r\n* Tests have been updated. The test that checks for identical clients being returned for out-of-order scopes was removed, because it doesn't apply anymore.\r\n\r\nThis PR is similar to #27, with the important differences that \"caching\" has been added back, and the keyFile field is handled differently (using fromStream allows creation of either JWTClient or UserRefreshClient)."},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/issues/comments/254995367","html_url":"https://github.com/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/pull/28#issuecomment-254995367","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/cloud-diagnostics-common-nodejs/issues/28","id":254995367,"user":{"login":"matthewloring","id":1485909,"avatar_url":"https://avatars.githubusercontent.com/u/1485909?v=3","gravatar_id":"","url":"https://api.github.com/users/matthewloring","html_url":"https://github.com/matthewloring","followers_url":"https://api.github.com/users/matthewloring/followers","following_url":"https://api.github.com/users/matthewloring/following{/other_user}","gists_url":"https://api.github.com/users/matthewloring/gists{/gist_id}","starred_url":"https://api.github.com/users/matthewloring/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthewloring/subscriptions","organizations_url":"https://api.github.com/users/matthewloring/orgs","repos_url":"https://api.github.com/users/matthewloring/repos","events_url":"https://api.github.com/users/matthewloring/events{/privacy}","received_events_url":"https://api.github.com/users/matthewloring/received_events","type":"User","site_admin":false},"created_at":"2016-10-20T02:47:45Z","updated_at":"2016-10-20T02:47:45Z","body":"Overall this looks good. Promises may actually hide the queuing and eventual execution of things in a nice way. @ofrobots Were there fundamental issues with using promises in our code?"}}
{"actor":{"display_login":"matthewloring"}}