{"action":"created","comment":{"url":"https://api.github.com/repos/vapor/vapor/pulls/comments/141497348","pull_request_review_id":65720784,"id":141497348,"diff_hunk":"@@ -61,7 +62,7 @@ public final class Server: Core.OutputStream {\n                 self.errorStream?(error)\n                 return\n             }\n-\n+            ","path":"Sources/TCP/Streams/Server.swift","position":13,"original_position":13,"commit_id":"28735ee45c612034077c3839dced41321074efe7","original_commit_id":"28735ee45c612034077c3839dced41321074efe7","user":{"login":"tanner0101","id":1342803,"avatar_url":"https://avatars2.githubusercontent.com/u/1342803?v=4","gravatar_id":"","url":"https://api.github.com/users/tanner0101","html_url":"https://github.com/tanner0101","followers_url":"https://api.github.com/users/tanner0101/followers","following_url":"https://api.github.com/users/tanner0101/following{/other_user}","gists_url":"https://api.github.com/users/tanner0101/gists{/gist_id}","starred_url":"https://api.github.com/users/tanner0101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tanner0101/subscriptions","organizations_url":"https://api.github.com/users/tanner0101/orgs","repos_url":"https://api.github.com/users/tanner0101/repos","events_url":"https://api.github.com/users/tanner0101/events{/privacy}","received_events_url":"https://api.github.com/users/tanner0101/received_events","type":"User","site_admin":false},"body":"spacing","created_at":"2017-09-28T00:01:30Z","updated_at":"2017-09-28T00:13:35Z","html_url":"https://github.com/vapor/vapor/pull/1162#discussion_r141497348","pull_request_url":"https://api.github.com/repos/vapor/vapor/pulls/1162","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/vapor/vapor/pulls/comments/141497348"},"html":{"href":"https://github.com/vapor/vapor/pull/1162#discussion_r141497348"},"pull_request":{"href":"https://api.github.com/repos/vapor/vapor/pulls/1162"}}},"pull_request":{"url":"https://api.github.com/repos/vapor/vapor/pulls/1162","id":142351744,"html_url":"https://github.com/vapor/vapor/pull/1162","diff_url":"https://github.com/vapor/vapor/pull/1162.diff","patch_url":"https://github.com/vapor/vapor/pull/1162.patch","issue_url":"https://api.github.com/repos/vapor/vapor/issues/1162","number":1162,"state":"open","locked":false,"title":"Denial of Service hardening","user":{"login":"Joannis","id":1951674,"avatar_url":"https://avatars2.githubusercontent.com/u/1951674?v=4","gravatar_id":"","url":"https://api.github.com/users/Joannis","html_url":"https://github.com/Joannis","followers_url":"https://api.github.com/users/Joannis/followers","following_url":"https://api.github.com/users/Joannis/following{/other_user}","gists_url":"https://api.github.com/users/Joannis/gists{/gist_id}","starred_url":"https://api.github.com/users/Joannis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Joannis/subscriptions","organizations_url":"https://api.github.com/users/Joannis/orgs","repos_url":"https://api.github.com/users/Joannis/repos","events_url":"https://api.github.com/users/Joannis/events{/privacy}","received_events_url":"https://api.github.com/users/Joannis/received_events","type":"User","site_admin":false},"body":"Introduces the option to limit the amount of simultaneous connections per remote address. \r\n\r\n[Aimed to harden against many HTTP DoS attacks](https://en.wikipedia.org/wiki/Denial-of-service_attack#Attack_techniques)","created_at":"2017-09-21T13:59:46Z","updated_at":"2017-09-28T00:13:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dd2c8f994eb6a2b62b9eaf3e87f16286edce55b7","assignee":{"login":"Joannis","id":1951674,"avatar_url":"https://avatars2.githubusercontent.com/u/1951674?v=4","gravatar_id":"","url":"https://api.github.com/users/Joannis","html_url":"https://github.com/Joannis","followers_url":"https://api.github.com/users/Joannis/followers","following_url":"https://api.github.com/users/Joannis/following{/other_user}","gists_url":"https://api.github.com/users/Joannis/gists{/gist_id}","starred_url":"https://api.github.com/users/Joannis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Joannis/subscriptions","organizations_url":"https://api.github.com/users/Joannis/orgs","repos_url":"https://api.github.com/users/Joannis/repos","events_url":"https://api.github.com/users/Joannis/events{/privacy}","received_events_url":"https://api.github.com/users/Joannis/received_events","type":"User","site_admin":false},"assignees":[{"login":"Joannis","id":1951674,"avatar_url":"https://avatars2.githubusercontent.com/u/1951674?v=4","gravatar_id":"","url":"https://api.github.com/users/Joannis","html_url":"https://github.com/Joannis","followers_url":"https://api.github.com/users/Joannis/followers","following_url":"https://api.github.com/users/Joannis/following{/other_user}","gists_url":"https://api.github.com/users/Joannis/gists{/gist_id}","starred_url":"https://api.github.com/users/Joannis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Joannis/subscriptions","organizations_url":"https://api.github.com/users/Joannis/orgs","repos_url":"https://api.github.com/users/Joannis/repos","events_url":"https://api.github.com/users/Joannis/events{/privacy}","received_events_url":"https://api.github.com/users/Joannis/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"milestone":{"url":"https://api.github.com/repos/vapor/vapor/milestones/49","html_url":"https://github.com/vapor/vapor/milestone/49","labels_url":"https://api.github.com/repos/vapor/vapor/milestones/49/labels","id":2632870,"number":49,"title":"3.0.0","description":null,"creator":{"login":"tanner0101","id":1342803,"avatar_url":"https://avatars2.githubusercontent.com/u/1342803?v=4","gravatar_id":"","url":"https://api.github.com/users/tanner0101","html_url":"https://github.com/tanner0101","followers_url":"https://api.github.com/users/tanner0101/followers","following_url":"https://api.github.com/users/tanner0101/following{/other_user}","gists_url":"https://api.github.com/users/tanner0101/gists{/gist_id}","starred_url":"https://api.github.com/users/tanner0101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tanner0101/subscriptions","organizations_url":"https://api.github.com/users/tanner0101/orgs","repos_url":"https://api.github.com/users/tanner0101/repos","events_url":"https://api.github.com/users/tanner0101/events{/privacy}","received_events_url":"https://api.github.com/users/tanner0101/received_events","type":"User","site_admin":false},"open_issues":26,"closed_issues":20,"state":"open","created_at":"2017-07-10T20:50:38Z","updated_at":"2017-09-27T21:02:58Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/vapor/vapor/pulls/1162/commits","review_comments_url":"https://api.github.com/repos/vapor/vapor/pulls/1162/comments","review_comment_url":"https://api.github.com/repos/vapor/vapor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vapor/vapor/issues/1162/comments","statuses_url":"https://api.github.com/repos/vapor/vapor/statuses/28735ee45c612034077c3839dced41321074efe7","head":{"label":"vapor:security","ref":"security","sha":"28735ee45c612034077c3839dced41321074efe7","user":{"login":"vapor","id":17364220,"avatar_url":"https://avatars1.githubusercontent.com/u/17364220?v=4","gravatar_id":"","url":"https://api.github.com/users/vapor","html_url":"https://github.com/vapor","followers_url":"https://api.github.com/users/vapor/followers","following_url":"https://api.github.com/users/vapor/following{/other_user}","gists_url":"https://api.github.com/users/vapor/gists{/gist_id}","starred_url":"https://api.github.com/users/vapor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vapor/subscriptions","organizations_url":"https://api.github.com/users/vapor/orgs","repos_url":"https://api.github.com/users/vapor/repos","events_url":"https://api.github.com/users/vapor/events{/privacy}","received_events_url":"https://api.github.com/users/vapor/received_events","type":"Organization","site_admin":false},"repo":{"id":49910095,"name":"vapor","full_name":"vapor/vapor","owner":{"login":"vapor","id":17364220,"avatar_url":"https://avatars1.githubusercontent.com/u/17364220?v=4","gravatar_id":"","url":"https://api.github.com/users/vapor","html_url":"https://github.com/vapor","followers_url":"https://api.github.com/users/vapor/followers","following_url":"https://api.github.com/users/vapor/following{/other_user}","gists_url":"https://api.github.com/users/vapor/gists{/gist_id}","starred_url":"https://api.github.com/users/vapor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vapor/subscriptions","organizations_url":"https://api.github.com/users/vapor/orgs","repos_url":"https://api.github.com/users/vapor/repos","events_url":"https://api.github.com/users/vapor/events{/privacy}","received_events_url":"https://api.github.com/users/vapor/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vapor/vapor","description":"💧 A server-side Swift web framework.","fork":false,"url":"https://api.github.com/repos/vapor/vapor","forks_url":"https://api.github.com/repos/vapor/vapor/forks","keys_url":"https://api.github.com/repos/vapor/vapor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vapor/vapor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vapor/vapor/teams","hooks_url":"https://api.github.com/repos/vapor/vapor/hooks","issue_events_url":"https://api.github.com/repos/vapor/vapor/issues/events{/number}","events_url":"https://api.github.com/repos/vapor/vapor/events","assignees_url":"https://api.github.com/repos/vapor/vapor/assignees{/user}","branches_url":"https://api.github.com/repos/vapor/vapor/branches{/branch}","tags_url":"https://api.github.com/repos/vapor/vapor/tags","blobs_url":"https://api.github.com/repos/vapor/vapor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vapor/vapor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vapor/vapor/git/refs{/sha}","trees_url":"https://api.github.com/repos/vapor/vapor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vapor/vapor/statuses/{sha}","languages_url":"https://api.github.com/repos/vapor/vapor/languages","stargazers_url":"https://api.github.com/repos/vapor/vapor/stargazers","contributors_url":"https://api.github.com/repos/vapor/vapor/contributors","subscribers_url":"https://api.github.com/repos/vapor/vapor/subscribers","subscription_url":"https://api.github.com/repos/vapor/vapor/subscription","commits_url":"https://api.github.com/repos/vapor/vapor/commits{/sha}","git_commits_url":"https://api.github.com/repos/vapor/vapor/git/commits{/sha}","comments_url":"https://api.github.com/repos/vapor/vapor/comments{/number}","issue_comment_url":"https://api.github.com/repos/vapor/vapor/issues/comments{/number}","contents_url":"https://api.github.com/repos/vapor/vapor/contents/{+path}","compare_url":"https://api.github.com/repos/vapor/vapor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vapor/vapor/merges","archive_url":"https://api.github.com/repos/vapor/vapor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vapor/vapor/downloads","issues_url":"https://api.github.com/repos/vapor/vapor/issues{/number}","pulls_url":"https://api.github.com/repos/vapor/vapor/pulls{/number}","milestones_url":"https://api.github.com/repos/vapor/vapor/milestones{/number}","notifications_url":"https://api.github.com/repos/vapor/vapor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vapor/vapor/labels{/name}","releases_url":"https://api.github.com/repos/vapor/vapor/releases{/id}","deployments_url":"https://api.github.com/repos/vapor/vapor/deployments","created_at":"2016-01-18T22:37:52Z","updated_at":"2017-09-27T21:39:13Z","pushed_at":"2017-09-27T21:45:04Z","git_url":"git://github.com/vapor/vapor.git","ssh_url":"git@github.com:vapor/vapor.git","clone_url":"https://github.com/vapor/vapor.git","svn_url":"https://github.com/vapor/vapor","homepage":"https://vapor.codes","size":11933,"stargazers_count":11187,"watchers_count":11187,"language":"Swift","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":613,"mirror_url":null,"open_issues_count":36,"forks":613,"open_issues":36,"watchers":11187,"default_branch":"master"}},"base":{"label":"vapor:beta","ref":"beta","sha":"bc75efd30dfb4b1be387a5f2ee6563148a365a88","user":{"login":"vapor","id":17364220,"avatar_url":"https://avatars1.githubusercontent.com/u/17364220?v=4","gravatar_id":"","url":"https://api.github.com/users/vapor","html_url":"https://github.com/vapor","followers_url":"https://api.github.com/users/vapor/followers","following_url":"https://api.github.com/users/vapor/following{/other_user}","gists_url":"https://api.github.com/users/vapor/gists{/gist_id}","starred_url":"https://api.github.com/users/vapor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vapor/subscriptions","organizations_url":"https://api.github.com/users/vapor/orgs","repos_url":"https://api.github.com/users/vapor/repos","events_url":"https://api.github.com/users/vapor/events{/privacy}","received_events_url":"https://api.github.com/users/vapor/received_events","type":"Organization","site_admin":false},"repo":{"id":49910095,"name":"vapor","full_name":"vapor/vapor","owner":{"login":"vapor","id":17364220,"avatar_url":"https://avatars1.githubusercontent.com/u/17364220?v=4","gravatar_id":"","url":"https://api.github.com/users/vapor","html_url":"https://github.com/vapor","followers_url":"https://api.github.com/users/vapor/followers","following_url":"https://api.github.com/users/vapor/following{/other_user}","gists_url":"https://api.github.com/users/vapor/gists{/gist_id}","starred_url":"https://api.github.com/users/vapor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vapor/subscriptions","organizations_url":"https://api.github.com/users/vapor/orgs","repos_url":"https://api.github.com/users/vapor/repos","events_url":"https://api.github.com/users/vapor/events{/privacy}","received_events_url":"https://api.github.com/users/vapor/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vapor/vapor","description":"💧 A server-side Swift web framework.","fork":false,"url":"https://api.github.com/repos/vapor/vapor","forks_url":"https://api.github.com/repos/vapor/vapor/forks","keys_url":"https://api.github.com/repos/vapor/vapor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vapor/vapor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vapor/vapor/teams","hooks_url":"https://api.github.com/repos/vapor/vapor/hooks","issue_events_url":"https://api.github.com/repos/vapor/vapor/issues/events{/number}","events_url":"https://api.github.com/repos/vapor/vapor/events","assignees_url":"https://api.github.com/repos/vapor/vapor/assignees{/user}","branches_url":"https://api.github.com/repos/vapor/vapor/branches{/branch}","tags_url":"https://api.github.com/repos/vapor/vapor/tags","blobs_url":"https://api.github.com/repos/vapor/vapor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vapor/vapor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vapor/vapor/git/refs{/sha}","trees_url":"https://api.github.com/repos/vapor/vapor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vapor/vapor/statuses/{sha}","languages_url":"https://api.github.com/repos/vapor/vapor/languages","stargazers_url":"https://api.github.com/repos/vapor/vapor/stargazers","contributors_url":"https://api.github.com/repos/vapor/vapor/contributors","subscribers_url":"https://api.github.com/repos/vapor/vapor/subscribers","subscription_url":"https://api.github.com/repos/vapor/vapor/subscription","commits_url":"https://api.github.com/repos/vapor/vapor/commits{/sha}","git_commits_url":"https://api.github.com/repos/vapor/vapor/git/commits{/sha}","comments_url":"https://api.github.com/repos/vapor/vapor/comments{/number}","issue_comment_url":"https://api.github.com/repos/vapor/vapor/issues/comments{/number}","contents_url":"https://api.github.com/repos/vapor/vapor/contents/{+path}","compare_url":"https://api.github.com/repos/vapor/vapor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vapor/vapor/merges","archive_url":"https://api.github.com/repos/vapor/vapor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vapor/vapor/downloads","issues_url":"https://api.github.com/repos/vapor/vapor/issues{/number}","pulls_url":"https://api.github.com/repos/vapor/vapor/pulls{/number}","milestones_url":"https://api.github.com/repos/vapor/vapor/milestones{/number}","notifications_url":"https://api.github.com/repos/vapor/vapor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vapor/vapor/labels{/name}","releases_url":"https://api.github.com/repos/vapor/vapor/releases{/id}","deployments_url":"https://api.github.com/repos/vapor/vapor/deployments","created_at":"2016-01-18T22:37:52Z","updated_at":"2017-09-27T21:39:13Z","pushed_at":"2017-09-27T21:45:04Z","git_url":"git://github.com/vapor/vapor.git","ssh_url":"git@github.com:vapor/vapor.git","clone_url":"https://github.com/vapor/vapor.git","svn_url":"https://github.com/vapor/vapor","homepage":"https://vapor.codes","size":11933,"stargazers_count":11187,"watchers_count":11187,"language":"Swift","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":613,"mirror_url":null,"open_issues_count":36,"forks":613,"open_issues":36,"watchers":11187,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vapor/vapor/pulls/1162"},"html":{"href":"https://github.com/vapor/vapor/pull/1162"},"issue":{"href":"https://api.github.com/repos/vapor/vapor/issues/1162"},"comments":{"href":"https://api.github.com/repos/vapor/vapor/issues/1162/comments"},"review_comments":{"href":"https://api.github.com/repos/vapor/vapor/pulls/1162/comments"},"review_comment":{"href":"https://api.github.com/repos/vapor/vapor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vapor/vapor/pulls/1162/commits"},"statuses":{"href":"https://api.github.com/repos/vapor/vapor/statuses/28735ee45c612034077c3839dced41321074efe7"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"tanner0101"}}