{"action":"created","comment":{"url":"https://api.github.com/repos/node-apn/node-apn/pulls/comments/90562909","pull_request_review_id":11082187,"id":90562909,"diff_hunk":"@@ -89,6 +93,19 @@ module.exports = function(dependencies) {\n     this.emit(\"connect\");\n   };\n \n+  Endpoint.prototype._setupHTTP2HealthCheck = function healthcheck() {\n+    return setInterval(() => {\n+      if (this._lastSuccessPingedTime != null && (Date.now() - this._lastSuccessPingedTime) > this._PingedThreshold) {\n+        this._error(\"Not receiving Ping response after \" + this._PingedThreshold + \" ms\");\n+      }\n+      else {","path":"lib/protocol/endpoint.js","position":25,"original_position":25,"commit_id":"15fdfe3b6a091b721a823b98718a6909c3770ba6","original_commit_id":"15fdfe3b6a091b721a823b98718a6909c3770ba6","user":{"login":"adek05","id":1444390,"avatar_url":"https://avatars.githubusercontent.com/u/1444390?v=3","gravatar_id":"","url":"https://api.github.com/users/adek05","html_url":"https://github.com/adek05","followers_url":"https://api.github.com/users/adek05/followers","following_url":"https://api.github.com/users/adek05/following{/other_user}","gists_url":"https://api.github.com/users/adek05/gists{/gist_id}","starred_url":"https://api.github.com/users/adek05/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adek05/subscriptions","organizations_url":"https://api.github.com/users/adek05/orgs","repos_url":"https://api.github.com/users/adek05/repos","events_url":"https://api.github.com/users/adek05/events{/privacy}","received_events_url":"https://api.github.com/users/adek05/received_events","type":"User","site_admin":false},"body":"`} else {`","created_at":"2016-12-01T23:51:05Z","updated_at":"2016-12-01T23:51:05Z","html_url":"https://github.com/node-apn/node-apn/pull/480#discussion_r90562909","pull_request_url":"https://api.github.com/repos/node-apn/node-apn/pulls/480","_links":{"self":{"href":"https://api.github.com/repos/node-apn/node-apn/pulls/comments/90562909"},"html":{"href":"https://github.com/node-apn/node-apn/pull/480#discussion_r90562909"},"pull_request":{"href":"https://api.github.com/repos/node-apn/node-apn/pulls/480"}}},"pull_request":{"url":"https://api.github.com/repos/node-apn/node-apn/pulls/480","id":95103414,"html_url":"https://github.com/node-apn/node-apn/pull/480","diff_url":"https://github.com/node-apn/node-apn/pull/480.diff","patch_url":"https://github.com/node-apn/node-apn/pull/480.patch","issue_url":"https://api.github.com/repos/node-apn/node-apn/issues/480","number":480,"state":"open","locked":false,"title":"Take care of idle connection and Token expiration.","user":{"login":"cmdkoh","id":15333144,"avatar_url":"https://avatars.githubusercontent.com/u/15333144?v=3","gravatar_id":"","url":"https://api.github.com/users/cmdkoh","html_url":"https://github.com/cmdkoh","followers_url":"https://api.github.com/users/cmdkoh/followers","following_url":"https://api.github.com/users/cmdkoh/following{/other_user}","gists_url":"https://api.github.com/users/cmdkoh/gists{/gist_id}","starred_url":"https://api.github.com/users/cmdkoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmdkoh/subscriptions","organizations_url":"https://api.github.com/users/cmdkoh/orgs","repos_url":"https://api.github.com/users/cmdkoh/repos","events_url":"https://api.github.com/users/cmdkoh/events{/privacy}","received_events_url":"https://api.github.com/users/cmdkoh/received_events","type":"User","site_admin":false},"body":"- Add Ping capability, set in config.hearBeat, default to 60 seconds\r\n- Add check token expiration before sending Push to APN. It seems like APN will not response to Push Request (and no 403 is returned) if Token expired after some threshold (e.g. expired > x mins).","created_at":"2016-11-24T01:14:33Z","updated_at":"2016-12-01T23:53:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d9cc0c7c50fd0ae0b6a9aab1e3f51dceb6da00de","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/node-apn/node-apn/pulls/480/commits","review_comments_url":"https://api.github.com/repos/node-apn/node-apn/pulls/480/comments","review_comment_url":"https://api.github.com/repos/node-apn/node-apn/pulls/comments{/number}","comments_url":"https://api.github.com/repos/node-apn/node-apn/issues/480/comments","statuses_url":"https://api.github.com/repos/node-apn/node-apn/statuses/15fdfe3b6a091b721a823b98718a6909c3770ba6","head":{"label":"cmdkoh:master","ref":"master","sha":"15fdfe3b6a091b721a823b98718a6909c3770ba6","user":{"login":"cmdkoh","id":15333144,"avatar_url":"https://avatars.githubusercontent.com/u/15333144?v=3","gravatar_id":"","url":"https://api.github.com/users/cmdkoh","html_url":"https://github.com/cmdkoh","followers_url":"https://api.github.com/users/cmdkoh/followers","following_url":"https://api.github.com/users/cmdkoh/following{/other_user}","gists_url":"https://api.github.com/users/cmdkoh/gists{/gist_id}","starred_url":"https://api.github.com/users/cmdkoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmdkoh/subscriptions","organizations_url":"https://api.github.com/users/cmdkoh/orgs","repos_url":"https://api.github.com/users/cmdkoh/repos","events_url":"https://api.github.com/users/cmdkoh/events{/privacy}","received_events_url":"https://api.github.com/users/cmdkoh/received_events","type":"User","site_admin":false},"repo":{"id":74604925,"name":"node-apn","full_name":"cmdkoh/node-apn","owner":{"login":"cmdkoh","id":15333144,"avatar_url":"https://avatars.githubusercontent.com/u/15333144?v=3","gravatar_id":"","url":"https://api.github.com/users/cmdkoh","html_url":"https://github.com/cmdkoh","followers_url":"https://api.github.com/users/cmdkoh/followers","following_url":"https://api.github.com/users/cmdkoh/following{/other_user}","gists_url":"https://api.github.com/users/cmdkoh/gists{/gist_id}","starred_url":"https://api.github.com/users/cmdkoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmdkoh/subscriptions","organizations_url":"https://api.github.com/users/cmdkoh/orgs","repos_url":"https://api.github.com/users/cmdkoh/repos","events_url":"https://api.github.com/users/cmdkoh/events{/privacy}","received_events_url":"https://api.github.com/users/cmdkoh/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cmdkoh/node-apn","description":":calling: Apple Push Notification module for Node.js","fork":true,"url":"https://api.github.com/repos/cmdkoh/node-apn","forks_url":"https://api.github.com/repos/cmdkoh/node-apn/forks","keys_url":"https://api.github.com/repos/cmdkoh/node-apn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cmdkoh/node-apn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cmdkoh/node-apn/teams","hooks_url":"https://api.github.com/repos/cmdkoh/node-apn/hooks","issue_events_url":"https://api.github.com/repos/cmdkoh/node-apn/issues/events{/number}","events_url":"https://api.github.com/repos/cmdkoh/node-apn/events","assignees_url":"https://api.github.com/repos/cmdkoh/node-apn/assignees{/user}","branches_url":"https://api.github.com/repos/cmdkoh/node-apn/branches{/branch}","tags_url":"https://api.github.com/repos/cmdkoh/node-apn/tags","blobs_url":"https://api.github.com/repos/cmdkoh/node-apn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cmdkoh/node-apn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cmdkoh/node-apn/git/refs{/sha}","trees_url":"https://api.github.com/repos/cmdkoh/node-apn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cmdkoh/node-apn/statuses/{sha}","languages_url":"https://api.github.com/repos/cmdkoh/node-apn/languages","stargazers_url":"https://api.github.com/repos/cmdkoh/node-apn/stargazers","contributors_url":"https://api.github.com/repos/cmdkoh/node-apn/contributors","subscribers_url":"https://api.github.com/repos/cmdkoh/node-apn/subscribers","subscription_url":"https://api.github.com/repos/cmdkoh/node-apn/subscription","commits_url":"https://api.github.com/repos/cmdkoh/node-apn/commits{/sha}","git_commits_url":"https://api.github.com/repos/cmdkoh/node-apn/git/commits{/sha}","comments_url":"https://api.github.com/repos/cmdkoh/node-apn/comments{/number}","issue_comment_url":"https://api.github.com/repos/cmdkoh/node-apn/issues/comments{/number}","contents_url":"https://api.github.com/repos/cmdkoh/node-apn/contents/{+path}","compare_url":"https://api.github.com/repos/cmdkoh/node-apn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cmdkoh/node-apn/merges","archive_url":"https://api.github.com/repos/cmdkoh/node-apn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cmdkoh/node-apn/downloads","issues_url":"https://api.github.com/repos/cmdkoh/node-apn/issues{/number}","pulls_url":"https://api.github.com/repos/cmdkoh/node-apn/pulls{/number}","milestones_url":"https://api.github.com/repos/cmdkoh/node-apn/milestones{/number}","notifications_url":"https://api.github.com/repos/cmdkoh/node-apn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cmdkoh/node-apn/labels{/name}","releases_url":"https://api.github.com/repos/cmdkoh/node-apn/releases{/id}","deployments_url":"https://api.github.com/repos/cmdkoh/node-apn/deployments","created_at":"2016-11-23T18:48:13Z","updated_at":"2016-11-23T18:48:14Z","pushed_at":"2016-11-30T09:37:43Z","git_url":"git://github.com/cmdkoh/node-apn.git","ssh_url":"git@github.com:cmdkoh/node-apn.git","clone_url":"https://github.com/cmdkoh/node-apn.git","svn_url":"https://github.com/cmdkoh/node-apn","homepage":"","size":1368,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"node-apn:master","ref":"master","sha":"3ec1d104b12f4693eb0da9e3cef2d310ad87ff9e","user":{"login":"node-apn","id":20116911,"avatar_url":"https://avatars.githubusercontent.com/u/20116911?v=3","gravatar_id":"","url":"https://api.github.com/users/node-apn","html_url":"https://github.com/node-apn","followers_url":"https://api.github.com/users/node-apn/followers","following_url":"https://api.github.com/users/node-apn/following{/other_user}","gists_url":"https://api.github.com/users/node-apn/gists{/gist_id}","starred_url":"https://api.github.com/users/node-apn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/node-apn/subscriptions","organizations_url":"https://api.github.com/users/node-apn/orgs","repos_url":"https://api.github.com/users/node-apn/repos","events_url":"https://api.github.com/users/node-apn/events{/privacy}","received_events_url":"https://api.github.com/users/node-apn/received_events","type":"Organization","site_admin":false},"repo":{"id":797129,"name":"node-apn","full_name":"node-apn/node-apn","owner":{"login":"node-apn","id":20116911,"avatar_url":"https://avatars.githubusercontent.com/u/20116911?v=3","gravatar_id":"","url":"https://api.github.com/users/node-apn","html_url":"https://github.com/node-apn","followers_url":"https://api.github.com/users/node-apn/followers","following_url":"https://api.github.com/users/node-apn/following{/other_user}","gists_url":"https://api.github.com/users/node-apn/gists{/gist_id}","starred_url":"https://api.github.com/users/node-apn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/node-apn/subscriptions","organizations_url":"https://api.github.com/users/node-apn/orgs","repos_url":"https://api.github.com/users/node-apn/repos","events_url":"https://api.github.com/users/node-apn/events{/privacy}","received_events_url":"https://api.github.com/users/node-apn/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/node-apn/node-apn","description":":calling: Apple Push Notification module for Node.js","fork":false,"url":"https://api.github.com/repos/node-apn/node-apn","forks_url":"https://api.github.com/repos/node-apn/node-apn/forks","keys_url":"https://api.github.com/repos/node-apn/node-apn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/node-apn/node-apn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/node-apn/node-apn/teams","hooks_url":"https://api.github.com/repos/node-apn/node-apn/hooks","issue_events_url":"https://api.github.com/repos/node-apn/node-apn/issues/events{/number}","events_url":"https://api.github.com/repos/node-apn/node-apn/events","assignees_url":"https://api.github.com/repos/node-apn/node-apn/assignees{/user}","branches_url":"https://api.github.com/repos/node-apn/node-apn/branches{/branch}","tags_url":"https://api.github.com/repos/node-apn/node-apn/tags","blobs_url":"https://api.github.com/repos/node-apn/node-apn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/node-apn/node-apn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/node-apn/node-apn/git/refs{/sha}","trees_url":"https://api.github.com/repos/node-apn/node-apn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/node-apn/node-apn/statuses/{sha}","languages_url":"https://api.github.com/repos/node-apn/node-apn/languages","stargazers_url":"https://api.github.com/repos/node-apn/node-apn/stargazers","contributors_url":"https://api.github.com/repos/node-apn/node-apn/contributors","subscribers_url":"https://api.github.com/repos/node-apn/node-apn/subscribers","subscription_url":"https://api.github.com/repos/node-apn/node-apn/subscription","commits_url":"https://api.github.com/repos/node-apn/node-apn/commits{/sha}","git_commits_url":"https://api.github.com/repos/node-apn/node-apn/git/commits{/sha}","comments_url":"https://api.github.com/repos/node-apn/node-apn/comments{/number}","issue_comment_url":"https://api.github.com/repos/node-apn/node-apn/issues/comments{/number}","contents_url":"https://api.github.com/repos/node-apn/node-apn/contents/{+path}","compare_url":"https://api.github.com/repos/node-apn/node-apn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/node-apn/node-apn/merges","archive_url":"https://api.github.com/repos/node-apn/node-apn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/node-apn/node-apn/downloads","issues_url":"https://api.github.com/repos/node-apn/node-apn/issues{/number}","pulls_url":"https://api.github.com/repos/node-apn/node-apn/pulls{/number}","milestones_url":"https://api.github.com/repos/node-apn/node-apn/milestones{/number}","notifications_url":"https://api.github.com/repos/node-apn/node-apn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/node-apn/node-apn/labels{/name}","releases_url":"https://api.github.com/repos/node-apn/node-apn/releases{/id}","deployments_url":"https://api.github.com/repos/node-apn/node-apn/deployments","created_at":"2010-07-25T21:15:03Z","updated_at":"2016-12-01T21:56:35Z","pushed_at":"2016-11-30T09:32:47Z","git_url":"git://github.com/node-apn/node-apn.git","ssh_url":"git@github.com:node-apn/node-apn.git","clone_url":"https://github.com/node-apn/node-apn.git","svn_url":"https://github.com/node-apn/node-apn","homepage":"","size":1678,"stargazers_count":2754,"watchers_count":2754,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":369,"mirror_url":null,"open_issues_count":14,"forks":369,"open_issues":14,"watchers":2754,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/node-apn/node-apn/pulls/480"},"html":{"href":"https://github.com/node-apn/node-apn/pull/480"},"issue":{"href":"https://api.github.com/repos/node-apn/node-apn/issues/480"},"comments":{"href":"https://api.github.com/repos/node-apn/node-apn/issues/480/comments"},"review_comments":{"href":"https://api.github.com/repos/node-apn/node-apn/pulls/480/comments"},"review_comment":{"href":"https://api.github.com/repos/node-apn/node-apn/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/node-apn/node-apn/pulls/480/commits"},"statuses":{"href":"https://api.github.com/repos/node-apn/node-apn/statuses/15fdfe3b6a091b721a823b98718a6909c3770ba6"}}}}
{"actor":{"display_login":"adek05"}}