{"action":"closed","number":791,"pull_request":{"url":"https://api.github.com/repos/kraih/mojo/pulls/791","id":34696916,"html_url":"https://github.com/kraih/mojo/pull/791","diff_url":"https://github.com/kraih/mojo/pull/791.diff","patch_url":"https://github.com/kraih/mojo/pull/791.patch","issue_url":"https://api.github.com/repos/kraih/mojo/issues/791","number":791,"state":"closed","locked":false,"title":"Validation of Mojo::Server::Daemon listen parameter","user":{"login":"heathtechnical","id":8162329,"avatar_url":"https://avatars.githubusercontent.com/u/8162329?v=3","gravatar_id":"","url":"https://api.github.com/users/heathtechnical","html_url":"https://github.com/heathtechnical","followers_url":"https://api.github.com/users/heathtechnical/followers","following_url":"https://api.github.com/users/heathtechnical/following{/other_user}","gists_url":"https://api.github.com/users/heathtechnical/gists{/gist_id}","starred_url":"https://api.github.com/users/heathtechnical/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heathtechnical/subscriptions","organizations_url":"https://api.github.com/users/heathtechnical/orgs","repos_url":"https://api.github.com/users/heathtechnical/repos","events_url":"https://api.github.com/users/heathtechnical/events{/privacy}","received_events_url":"https://api.github.com/users/heathtechnical/received_events","type":"User","site_admin":false},"body":"Mojo::Server::Daemon currently appears to work with some rather strange listen strings:\r\n\r\n    $ perl -I lib blib/script/morbo examples/hello.pl -l http://localhost:tproxy:3000\r\n    Server available at http://localhost:tproxy:3000\r\n    $ perl -I lib blib/script/morbo examples/hello.pl -l ftp://*:9000\r\n    Server available at ftp://127.0.0.1:9000\r\n    $ perl -I lib blib/script/morbo examples/hello.pl -l broken:9000\r\n    Use of uninitialized value in string eq at lib/Mojo/Server/Daemon.pm line 160.\r\n    Use of uninitialized value in string eq at lib/Mojo/Server/Daemon.pm line 184.\r\n    Server available at broken:9000\r\n\r\nTo remedy, added basic listen string validation and more accurate printing of actual listen address/port.","created_at":"2015-05-05T05:16:03Z","updated_at":"2015-05-12T13:33:05Z","closed_at":"2015-05-12T13:33:05Z","merged_at":null,"merge_commit_sha":"a55ba2103b5d1f12bf173826174d8c790a983eb3","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/kraih/mojo/pulls/791/commits","review_comments_url":"https://api.github.com/repos/kraih/mojo/pulls/791/comments","review_comment_url":"https://api.github.com/repos/kraih/mojo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kraih/mojo/issues/791/comments","statuses_url":"https://api.github.com/repos/kraih/mojo/statuses/b8f4dd749495f80a7c08ce3c363fad6bbebb1ec2","head":{"label":"heathtechnical:master","ref":"master","sha":"b8f4dd749495f80a7c08ce3c363fad6bbebb1ec2","user":{"login":"heathtechnical","id":8162329,"avatar_url":"https://avatars.githubusercontent.com/u/8162329?v=3","gravatar_id":"","url":"https://api.github.com/users/heathtechnical","html_url":"https://github.com/heathtechnical","followers_url":"https://api.github.com/users/heathtechnical/followers","following_url":"https://api.github.com/users/heathtechnical/following{/other_user}","gists_url":"https://api.github.com/users/heathtechnical/gists{/gist_id}","starred_url":"https://api.github.com/users/heathtechnical/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heathtechnical/subscriptions","organizations_url":"https://api.github.com/users/heathtechnical/orgs","repos_url":"https://api.github.com/users/heathtechnical/repos","events_url":"https://api.github.com/users/heathtechnical/events{/privacy}","received_events_url":"https://api.github.com/users/heathtechnical/received_events","type":"User","site_admin":false},"repo":{"id":34557858,"name":"mojo","full_name":"heathtechnical/mojo","owner":{"login":"heathtechnical","id":8162329,"avatar_url":"https://avatars.githubusercontent.com/u/8162329?v=3","gravatar_id":"","url":"https://api.github.com/users/heathtechnical","html_url":"https://github.com/heathtechnical","followers_url":"https://api.github.com/users/heathtechnical/followers","following_url":"https://api.github.com/users/heathtechnical/following{/other_user}","gists_url":"https://api.github.com/users/heathtechnical/gists{/gist_id}","starred_url":"https://api.github.com/users/heathtechnical/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heathtechnical/subscriptions","organizations_url":"https://api.github.com/users/heathtechnical/orgs","repos_url":"https://api.github.com/users/heathtechnical/repos","events_url":"https://api.github.com/users/heathtechnical/events{/privacy}","received_events_url":"https://api.github.com/users/heathtechnical/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/heathtechnical/mojo","description":"Mojolicious - Perl real-time web framework","fork":true,"url":"https://api.github.com/repos/heathtechnical/mojo","forks_url":"https://api.github.com/repos/heathtechnical/mojo/forks","keys_url":"https://api.github.com/repos/heathtechnical/mojo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heathtechnical/mojo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heathtechnical/mojo/teams","hooks_url":"https://api.github.com/repos/heathtechnical/mojo/hooks","issue_events_url":"https://api.github.com/repos/heathtechnical/mojo/issues/events{/number}","events_url":"https://api.github.com/repos/heathtechnical/mojo/events","assignees_url":"https://api.github.com/repos/heathtechnical/mojo/assignees{/user}","branches_url":"https://api.github.com/repos/heathtechnical/mojo/branches{/branch}","tags_url":"https://api.github.com/repos/heathtechnical/mojo/tags","blobs_url":"https://api.github.com/repos/heathtechnical/mojo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heathtechnical/mojo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heathtechnical/mojo/git/refs{/sha}","trees_url":"https://api.github.com/repos/heathtechnical/mojo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heathtechnical/mojo/statuses/{sha}","languages_url":"https://api.github.com/repos/heathtechnical/mojo/languages","stargazers_url":"https://api.github.com/repos/heathtechnical/mojo/stargazers","contributors_url":"https://api.github.com/repos/heathtechnical/mojo/contributors","subscribers_url":"https://api.github.com/repos/heathtechnical/mojo/subscribers","subscription_url":"https://api.github.com/repos/heathtechnical/mojo/subscription","commits_url":"https://api.github.com/repos/heathtechnical/mojo/commits{/sha}","git_commits_url":"https://api.github.com/repos/heathtechnical/mojo/git/commits{/sha}","comments_url":"https://api.github.com/repos/heathtechnical/mojo/comments{/number}","issue_comment_url":"https://api.github.com/repos/heathtechnical/mojo/issues/comments{/number}","contents_url":"https://api.github.com/repos/heathtechnical/mojo/contents/{+path}","compare_url":"https://api.github.com/repos/heathtechnical/mojo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heathtechnical/mojo/merges","archive_url":"https://api.github.com/repos/heathtechnical/mojo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heathtechnical/mojo/downloads","issues_url":"https://api.github.com/repos/heathtechnical/mojo/issues{/number}","pulls_url":"https://api.github.com/repos/heathtechnical/mojo/pulls{/number}","milestones_url":"https://api.github.com/repos/heathtechnical/mojo/milestones{/number}","notifications_url":"https://api.github.com/repos/heathtechnical/mojo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heathtechnical/mojo/labels{/name}","releases_url":"https://api.github.com/repos/heathtechnical/mojo/releases{/id}","created_at":"2015-04-25T06:18:25Z","updated_at":"2015-05-07T07:08:53Z","pushed_at":"2015-05-10T04:47:29Z","git_url":"git://github.com/heathtechnical/mojo.git","ssh_url":"git@github.com:heathtechnical/mojo.git","clone_url":"https://github.com/heathtechnical/mojo.git","svn_url":"https://github.com/heathtechnical/mojo","homepage":"http://mojolicio.us","size":20453,"stargazers_count":0,"watchers_count":0,"language":"Perl","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":"kraih:master","ref":"master","sha":"a885ddcbb950d8b949108ec3ac568d7e853e83cc","user":{"login":"kraih","id":30094,"avatar_url":"https://avatars.githubusercontent.com/u/30094?v=3","gravatar_id":"","url":"https://api.github.com/users/kraih","html_url":"https://github.com/kraih","followers_url":"https://api.github.com/users/kraih/followers","following_url":"https://api.github.com/users/kraih/following{/other_user}","gists_url":"https://api.github.com/users/kraih/gists{/gist_id}","starred_url":"https://api.github.com/users/kraih/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kraih/subscriptions","organizations_url":"https://api.github.com/users/kraih/orgs","repos_url":"https://api.github.com/users/kraih/repos","events_url":"https://api.github.com/users/kraih/events{/privacy}","received_events_url":"https://api.github.com/users/kraih/received_events","type":"User","site_admin":false},"repo":{"id":65646,"name":"mojo","full_name":"kraih/mojo","owner":{"login":"kraih","id":30094,"avatar_url":"https://avatars.githubusercontent.com/u/30094?v=3","gravatar_id":"","url":"https://api.github.com/users/kraih","html_url":"https://github.com/kraih","followers_url":"https://api.github.com/users/kraih/followers","following_url":"https://api.github.com/users/kraih/following{/other_user}","gists_url":"https://api.github.com/users/kraih/gists{/gist_id}","starred_url":"https://api.github.com/users/kraih/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kraih/subscriptions","organizations_url":"https://api.github.com/users/kraih/orgs","repos_url":"https://api.github.com/users/kraih/repos","events_url":"https://api.github.com/users/kraih/events{/privacy}","received_events_url":"https://api.github.com/users/kraih/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kraih/mojo","description":"Mojolicious - Perl real-time web framework","fork":false,"url":"https://api.github.com/repos/kraih/mojo","forks_url":"https://api.github.com/repos/kraih/mojo/forks","keys_url":"https://api.github.com/repos/kraih/mojo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kraih/mojo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kraih/mojo/teams","hooks_url":"https://api.github.com/repos/kraih/mojo/hooks","issue_events_url":"https://api.github.com/repos/kraih/mojo/issues/events{/number}","events_url":"https://api.github.com/repos/kraih/mojo/events","assignees_url":"https://api.github.com/repos/kraih/mojo/assignees{/user}","branches_url":"https://api.github.com/repos/kraih/mojo/branches{/branch}","tags_url":"https://api.github.com/repos/kraih/mojo/tags","blobs_url":"https://api.github.com/repos/kraih/mojo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kraih/mojo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kraih/mojo/git/refs{/sha}","trees_url":"https://api.github.com/repos/kraih/mojo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kraih/mojo/statuses/{sha}","languages_url":"https://api.github.com/repos/kraih/mojo/languages","stargazers_url":"https://api.github.com/repos/kraih/mojo/stargazers","contributors_url":"https://api.github.com/repos/kraih/mojo/contributors","subscribers_url":"https://api.github.com/repos/kraih/mojo/subscribers","subscription_url":"https://api.github.com/repos/kraih/mojo/subscription","commits_url":"https://api.github.com/repos/kraih/mojo/commits{/sha}","git_commits_url":"https://api.github.com/repos/kraih/mojo/git/commits{/sha}","comments_url":"https://api.github.com/repos/kraih/mojo/comments{/number}","issue_comment_url":"https://api.github.com/repos/kraih/mojo/issues/comments{/number}","contents_url":"https://api.github.com/repos/kraih/mojo/contents/{+path}","compare_url":"https://api.github.com/repos/kraih/mojo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kraih/mojo/merges","archive_url":"https://api.github.com/repos/kraih/mojo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kraih/mojo/downloads","issues_url":"https://api.github.com/repos/kraih/mojo/issues{/number}","pulls_url":"https://api.github.com/repos/kraih/mojo/pulls{/number}","milestones_url":"https://api.github.com/repos/kraih/mojo/milestones{/number}","notifications_url":"https://api.github.com/repos/kraih/mojo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kraih/mojo/labels{/name}","releases_url":"https://api.github.com/repos/kraih/mojo/releases{/id}","created_at":"2008-10-21T07:50:26Z","updated_at":"2015-05-11T17:06:22Z","pushed_at":"2015-05-11T22:13:00Z","git_url":"git://github.com/kraih/mojo.git","ssh_url":"git@github.com:kraih/mojo.git","clone_url":"https://github.com/kraih/mojo.git","svn_url":"https://github.com/kraih/mojo","homepage":"http://mojolicio.us","size":41024,"stargazers_count":1487,"watchers_count":1487,"language":"Perl","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":333,"mirror_url":null,"open_issues_count":1,"forks":333,"open_issues":1,"watchers":1487,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kraih/mojo/pulls/791"},"html":{"href":"https://github.com/kraih/mojo/pull/791"},"issue":{"href":"https://api.github.com/repos/kraih/mojo/issues/791"},"comments":{"href":"https://api.github.com/repos/kraih/mojo/issues/791/comments"},"review_comments":{"href":"https://api.github.com/repos/kraih/mojo/pulls/791/comments"},"review_comment":{"href":"https://api.github.com/repos/kraih/mojo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kraih/mojo/pulls/791/commits"},"statuses":{"href":"https://api.github.com/repos/kraih/mojo/statuses/b8f4dd749495f80a7c08ce3c363fad6bbebb1ec2"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":5,"review_comments":8,"commits":6,"additions":34,"deletions":6,"changed_files":2}}