{"action":"created","comment":{"url":"https://api.github.com/repos/cherrypy/cherrypy/pulls/comments/90407198","pull_request_review_id":10924541,"id":90407198,"diff_hunk":"@@ -37,23 +37,28 @@ class BuiltinSSLAdapter(wsgiserver.SSLAdapter):\n     certificate_chain = None\n     \"\"\"The filename of the certificate chain file.\"\"\"\n \n+    ciphers = None\n+    \"\"\"The ciphers list of SSL\"\"\"\n     \"\"\"The ssl.SSLContext that will be used to wrap sockets where available\n     (on Python > 2.7.9 / 3.3)\n     \"\"\"\n     context = None\n \n-    def __init__(self, certificate, private_key, certificate_chain=None):\n+    def __init__(self, certificate, private_key, certificate_chain=None, ciphers=None):","path":"cherrypy/wsgiserver/ssl_builtin.py","position":12,"original_position":12,"commit_id":"ffdde201a10b95085f6ee4bbebea828f97f4cf2e","original_commit_id":"ffdde201a10b95085f6ee4bbebea828f97f4cf2e","user":{"login":"codacy-bot","id":19940114,"avatar_url":"https://avatars.githubusercontent.com/u/19940114?v=3","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://www.codacy.com/assets/images/favicon.png) Issue found: [__init__ method from base class 'SSLAdapter' is not called](https://www.codacy.com/app/cherrypy/cherrypy/file/4611148410/issues/source?bid=3615172&fileBranchId=3928852#l47)","created_at":"2016-12-01T09:14:19Z","updated_at":"2016-12-01T09:14:19Z","html_url":"https://github.com/cherrypy/cherrypy/pull/1524#discussion_r90407198","pull_request_url":"https://api.github.com/repos/cherrypy/cherrypy/pulls/1524","_links":{"self":{"href":"https://api.github.com/repos/cherrypy/cherrypy/pulls/comments/90407198"},"html":{"href":"https://github.com/cherrypy/cherrypy/pull/1524#discussion_r90407198"},"pull_request":{"href":"https://api.github.com/repos/cherrypy/cherrypy/pulls/1524"}}},"pull_request":{"url":"https://api.github.com/repos/cherrypy/cherrypy/pulls/1524","id":94751574,"html_url":"https://github.com/cherrypy/cherrypy/pull/1524","diff_url":"https://github.com/cherrypy/cherrypy/pull/1524.diff","patch_url":"https://github.com/cherrypy/cherrypy/pull/1524.patch","issue_url":"https://api.github.com/repos/cherrypy/cherrypy/issues/1524","number":1524,"state":"open","locked":false,"title":"Add attribute \"ssl_ciphers\" to support configuration cipher suites by cherrypy","user":{"login":"LenovoCindywang","id":23646824,"avatar_url":"https://avatars.githubusercontent.com/u/23646824?v=3","gravatar_id":"","url":"https://api.github.com/users/LenovoCindywang","html_url":"https://github.com/LenovoCindywang","followers_url":"https://api.github.com/users/LenovoCindywang/followers","following_url":"https://api.github.com/users/LenovoCindywang/following{/other_user}","gists_url":"https://api.github.com/users/LenovoCindywang/gists{/gist_id}","starred_url":"https://api.github.com/users/LenovoCindywang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LenovoCindywang/subscriptions","organizations_url":"https://api.github.com/users/LenovoCindywang/orgs","repos_url":"https://api.github.com/users/LenovoCindywang/repos","events_url":"https://api.github.com/users/LenovoCindywang/events{/privacy}","received_events_url":"https://api.github.com/users/LenovoCindywang/received_events","type":"User","site_admin":false},"body":"Hi Team,\r\n    Our security team got a request recently, need to dynamiclly set cipher suites of https connections.\r\n\r\n     Since Python(version >= 2.7.9)support \"context.set_ciphers()\", then we can add attribute \"ssl_ciphers\", and transfer it to \"ssl_builtin.py\". Thus, if cherrypy use builtin ssl lib, it can dynamicly configure the cipher suites.\r\n   \r\n   I have a solution to add the attribute, could you please merge it once you pass the review?\r\n\r\nThanks,\r\nCindy\r\n\r\nUPD: cc #1523","created_at":"2016-11-22T05:38:32Z","updated_at":"2016-12-01T09:14:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"619cecc011dcbd51f4277f907ecac152a9961200","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/cherrypy/cherrypy/pulls/1524/commits","review_comments_url":"https://api.github.com/repos/cherrypy/cherrypy/pulls/1524/comments","review_comment_url":"https://api.github.com/repos/cherrypy/cherrypy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cherrypy/cherrypy/issues/1524/comments","statuses_url":"https://api.github.com/repos/cherrypy/cherrypy/statuses/ffdde201a10b95085f6ee4bbebea828f97f4cf2e","head":{"label":"LenovoCindywang:master","ref":"master","sha":"ffdde201a10b95085f6ee4bbebea828f97f4cf2e","user":{"login":"LenovoCindywang","id":23646824,"avatar_url":"https://avatars.githubusercontent.com/u/23646824?v=3","gravatar_id":"","url":"https://api.github.com/users/LenovoCindywang","html_url":"https://github.com/LenovoCindywang","followers_url":"https://api.github.com/users/LenovoCindywang/followers","following_url":"https://api.github.com/users/LenovoCindywang/following{/other_user}","gists_url":"https://api.github.com/users/LenovoCindywang/gists{/gist_id}","starred_url":"https://api.github.com/users/LenovoCindywang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LenovoCindywang/subscriptions","organizations_url":"https://api.github.com/users/LenovoCindywang/orgs","repos_url":"https://api.github.com/users/LenovoCindywang/repos","events_url":"https://api.github.com/users/LenovoCindywang/events{/privacy}","received_events_url":"https://api.github.com/users/LenovoCindywang/received_events","type":"User","site_admin":false},"repo":{"id":74428399,"name":"cherrypy","full_name":"LenovoCindywang/cherrypy","owner":{"login":"LenovoCindywang","id":23646824,"avatar_url":"https://avatars.githubusercontent.com/u/23646824?v=3","gravatar_id":"","url":"https://api.github.com/users/LenovoCindywang","html_url":"https://github.com/LenovoCindywang","followers_url":"https://api.github.com/users/LenovoCindywang/followers","following_url":"https://api.github.com/users/LenovoCindywang/following{/other_user}","gists_url":"https://api.github.com/users/LenovoCindywang/gists{/gist_id}","starred_url":"https://api.github.com/users/LenovoCindywang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LenovoCindywang/subscriptions","organizations_url":"https://api.github.com/users/LenovoCindywang/orgs","repos_url":"https://api.github.com/users/LenovoCindywang/repos","events_url":"https://api.github.com/users/LenovoCindywang/events{/privacy}","received_events_url":"https://api.github.com/users/LenovoCindywang/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/LenovoCindywang/cherrypy","description":"CherryPy is a pythonic, object-oriented HTTP framework.","fork":true,"url":"https://api.github.com/repos/LenovoCindywang/cherrypy","forks_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/forks","keys_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/teams","hooks_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/hooks","issue_events_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/issues/events{/number}","events_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/events","assignees_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/assignees{/user}","branches_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/branches{/branch}","tags_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/tags","blobs_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/git/refs{/sha}","trees_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/statuses/{sha}","languages_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/languages","stargazers_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/stargazers","contributors_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/contributors","subscribers_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/subscribers","subscription_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/subscription","commits_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/commits{/sha}","git_commits_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/git/commits{/sha}","comments_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/comments{/number}","issue_comment_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/issues/comments{/number}","contents_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/contents/{+path}","compare_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/merges","archive_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/downloads","issues_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/issues{/number}","pulls_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/pulls{/number}","milestones_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/milestones{/number}","notifications_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/labels{/name}","releases_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/releases{/id}","deployments_url":"https://api.github.com/repos/LenovoCindywang/cherrypy/deployments","created_at":"2016-11-22T03:02:25Z","updated_at":"2016-11-22T03:02:26Z","pushed_at":"2016-12-01T08:32:35Z","git_url":"git://github.com/LenovoCindywang/cherrypy.git","ssh_url":"git@github.com:LenovoCindywang/cherrypy.git","clone_url":"https://github.com/LenovoCindywang/cherrypy.git","svn_url":"https://github.com/LenovoCindywang/cherrypy","homepage":"http://www.cherrypy.org/","size":26562,"stargazers_count":0,"watchers_count":0,"language":"Python","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":"cherrypy:master","ref":"master","sha":"58c58f6aa6b10c4b119394bb19c24092cab6a165","user":{"login":"cherrypy","id":6617466,"avatar_url":"https://avatars.githubusercontent.com/u/6617466?v=3","gravatar_id":"","url":"https://api.github.com/users/cherrypy","html_url":"https://github.com/cherrypy","followers_url":"https://api.github.com/users/cherrypy/followers","following_url":"https://api.github.com/users/cherrypy/following{/other_user}","gists_url":"https://api.github.com/users/cherrypy/gists{/gist_id}","starred_url":"https://api.github.com/users/cherrypy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cherrypy/subscriptions","organizations_url":"https://api.github.com/users/cherrypy/orgs","repos_url":"https://api.github.com/users/cherrypy/repos","events_url":"https://api.github.com/users/cherrypy/events{/privacy}","received_events_url":"https://api.github.com/users/cherrypy/received_events","type":"Organization","site_admin":false},"repo":{"id":57436777,"name":"cherrypy","full_name":"cherrypy/cherrypy","owner":{"login":"cherrypy","id":6617466,"avatar_url":"https://avatars.githubusercontent.com/u/6617466?v=3","gravatar_id":"","url":"https://api.github.com/users/cherrypy","html_url":"https://github.com/cherrypy","followers_url":"https://api.github.com/users/cherrypy/followers","following_url":"https://api.github.com/users/cherrypy/following{/other_user}","gists_url":"https://api.github.com/users/cherrypy/gists{/gist_id}","starred_url":"https://api.github.com/users/cherrypy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cherrypy/subscriptions","organizations_url":"https://api.github.com/users/cherrypy/orgs","repos_url":"https://api.github.com/users/cherrypy/repos","events_url":"https://api.github.com/users/cherrypy/events{/privacy}","received_events_url":"https://api.github.com/users/cherrypy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cherrypy/cherrypy","description":"CherryPy is a pythonic, object-oriented HTTP framework.","fork":false,"url":"https://api.github.com/repos/cherrypy/cherrypy","forks_url":"https://api.github.com/repos/cherrypy/cherrypy/forks","keys_url":"https://api.github.com/repos/cherrypy/cherrypy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cherrypy/cherrypy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cherrypy/cherrypy/teams","hooks_url":"https://api.github.com/repos/cherrypy/cherrypy/hooks","issue_events_url":"https://api.github.com/repos/cherrypy/cherrypy/issues/events{/number}","events_url":"https://api.github.com/repos/cherrypy/cherrypy/events","assignees_url":"https://api.github.com/repos/cherrypy/cherrypy/assignees{/user}","branches_url":"https://api.github.com/repos/cherrypy/cherrypy/branches{/branch}","tags_url":"https://api.github.com/repos/cherrypy/cherrypy/tags","blobs_url":"https://api.github.com/repos/cherrypy/cherrypy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cherrypy/cherrypy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cherrypy/cherrypy/git/refs{/sha}","trees_url":"https://api.github.com/repos/cherrypy/cherrypy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cherrypy/cherrypy/statuses/{sha}","languages_url":"https://api.github.com/repos/cherrypy/cherrypy/languages","stargazers_url":"https://api.github.com/repos/cherrypy/cherrypy/stargazers","contributors_url":"https://api.github.com/repos/cherrypy/cherrypy/contributors","subscribers_url":"https://api.github.com/repos/cherrypy/cherrypy/subscribers","subscription_url":"https://api.github.com/repos/cherrypy/cherrypy/subscription","commits_url":"https://api.github.com/repos/cherrypy/cherrypy/commits{/sha}","git_commits_url":"https://api.github.com/repos/cherrypy/cherrypy/git/commits{/sha}","comments_url":"https://api.github.com/repos/cherrypy/cherrypy/comments{/number}","issue_comment_url":"https://api.github.com/repos/cherrypy/cherrypy/issues/comments{/number}","contents_url":"https://api.github.com/repos/cherrypy/cherrypy/contents/{+path}","compare_url":"https://api.github.com/repos/cherrypy/cherrypy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cherrypy/cherrypy/merges","archive_url":"https://api.github.com/repos/cherrypy/cherrypy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cherrypy/cherrypy/downloads","issues_url":"https://api.github.com/repos/cherrypy/cherrypy/issues{/number}","pulls_url":"https://api.github.com/repos/cherrypy/cherrypy/pulls{/number}","milestones_url":"https://api.github.com/repos/cherrypy/cherrypy/milestones{/number}","notifications_url":"https://api.github.com/repos/cherrypy/cherrypy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cherrypy/cherrypy/labels{/name}","releases_url":"https://api.github.com/repos/cherrypy/cherrypy/releases{/id}","deployments_url":"https://api.github.com/repos/cherrypy/cherrypy/deployments","created_at":"2016-04-30T10:09:26Z","updated_at":"2016-11-30T21:22:43Z","pushed_at":"2016-12-01T08:32:35Z","git_url":"git://github.com/cherrypy/cherrypy.git","ssh_url":"git@github.com:cherrypy/cherrypy.git","clone_url":"https://github.com/cherrypy/cherrypy.git","svn_url":"https://github.com/cherrypy/cherrypy","homepage":"http://www.cherrypy.org/","size":26668,"stargazers_count":244,"watchers_count":244,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":56,"mirror_url":null,"open_issues_count":207,"forks":56,"open_issues":207,"watchers":244,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/cherrypy/cherrypy/pulls/1524"},"html":{"href":"https://github.com/cherrypy/cherrypy/pull/1524"},"issue":{"href":"https://api.github.com/repos/cherrypy/cherrypy/issues/1524"},"comments":{"href":"https://api.github.com/repos/cherrypy/cherrypy/issues/1524/comments"},"review_comments":{"href":"https://api.github.com/repos/cherrypy/cherrypy/pulls/1524/comments"},"review_comment":{"href":"https://api.github.com/repos/cherrypy/cherrypy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cherrypy/cherrypy/pulls/1524/commits"},"statuses":{"href":"https://api.github.com/repos/cherrypy/cherrypy/statuses/ffdde201a10b95085f6ee4bbebea828f97f4cf2e"}}}}
{"actor":{"display_login":"codacy-bot"}}