{"action":"created","comment":{"url":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/comments/109946000","pull_request_review_id":31080733,"id":109946000,"diff_hunk":"@@ -11,15 +11,24 @@\n   private static final Logger logger = Logger.getLogger(HttpServer.class.getName());\n   static String logConfigurationFilePath;\n   static ServerSocket serverSocket;\n+  static String ipAddress;\n   static int port;\n+  static int backlog;\n \n-  public HttpServer(int port, String logConfigurationFilePath) {\n+  public HttpServer(int port, String ipAddress, int backlog, String logConfigurationFilePath) {","path":"solutions/Assignment-2.3/httpserver/HttpServer.java","position":null,"original_position":9,"commit_id":"6a1ed1371ad36d69ad48d9effeaca78b8db47faf","original_commit_id":"6a1ed1371ad36d69ad48d9effeaca78b8db47faf","user":{"login":"kaustubh-karkare","id":1102450,"avatar_url":"https://avatars3.githubusercontent.com/u/1102450?v=3","gravatar_id":"","url":"https://api.github.com/users/kaustubh-karkare","html_url":"https://github.com/kaustubh-karkare","followers_url":"https://api.github.com/users/kaustubh-karkare/followers","following_url":"https://api.github.com/users/kaustubh-karkare/following{/other_user}","gists_url":"https://api.github.com/users/kaustubh-karkare/gists{/gist_id}","starred_url":"https://api.github.com/users/kaustubh-karkare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaustubh-karkare/subscriptions","organizations_url":"https://api.github.com/users/kaustubh-karkare/orgs","repos_url":"https://api.github.com/users/kaustubh-karkare/repos","events_url":"https://api.github.com/users/kaustubh-karkare/events{/privacy}","received_events_url":"https://api.github.com/users/kaustubh-karkare/received_events","type":"User","site_admin":false},"body":"Exceeds line length limit.","created_at":"2017-04-05T15:22:44Z","updated_at":"2017-04-05T15:38:40Z","html_url":"https://github.com/kaustubh-karkare/project-omega/pull/28#discussion_r109946000","pull_request_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/28","_links":{"self":{"href":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/comments/109946000"},"html":{"href":"https://github.com/kaustubh-karkare/project-omega/pull/28#discussion_r109946000"},"pull_request":{"href":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/28"}}},"pull_request":{"url":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/28","id":113507551,"html_url":"https://github.com/kaustubh-karkare/project-omega/pull/28","diff_url":"https://github.com/kaustubh-karkare/project-omega/pull/28.diff","patch_url":"https://github.com/kaustubh-karkare/project-omega/pull/28.patch","issue_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/issues/28","number":28,"state":"open","locked":false,"title":"Solution to Assignment 2.3 added","user":{"login":"divyanshjr","id":23135361,"avatar_url":"https://avatars2.githubusercontent.com/u/23135361?v=3","gravatar_id":"","url":"https://api.github.com/users/divyanshjr","html_url":"https://github.com/divyanshjr","followers_url":"https://api.github.com/users/divyanshjr/followers","following_url":"https://api.github.com/users/divyanshjr/following{/other_user}","gists_url":"https://api.github.com/users/divyanshjr/gists{/gist_id}","starred_url":"https://api.github.com/users/divyanshjr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/divyanshjr/subscriptions","organizations_url":"https://api.github.com/users/divyanshjr/orgs","repos_url":"https://api.github.com/users/divyanshjr/repos","events_url":"https://api.github.com/users/divyanshjr/events{/privacy}","received_events_url":"https://api.github.com/users/divyanshjr/received_events","type":"User","site_admin":false},"body":"- I've created a HTTP Web Server on Java. It runs on a specified IP and port number (passed as Command Line Argument).\r\n\r\n- 2 additional command line arguments can be passed -\r\n1.  LogConfigurationFilePath(Address of the file containing the Log Configuration File) \r\n2.  Backlog (Requested maximum length of the queue of incoming connections)\r\n\r\n- All the 4 command line arguments are optional. Default values will be used in case they are not provided.\r\n\r\n- Assignment2_3.java contains the driver code which uses the httpserver API. So this file is to be run in order to start the server. The other 3 files namely - HttpServer.java, HttpServerBuilder.java and Clienthandler.java are part of httpserver API and must be placed in a directory \"httpserver\" which should be in the current directory of Assignment2_3.java\r\n\r\n\r\n- ***Details about the functionality of the httpserver API  -**\r\n\r\n- The HttpServer instance is created using the builder pattern technique and it is implemented with the help of HttpServerBuilder class.\r\n\r\n- HttpServer is the server's main thread where the server keeps listening and accepts incoming clients.\r\nAs soon as a Client gets connected, the server redirects the Client to ClientHandler thread which reads the requests from the Client and handles them. HttpServer keeps waiting for other clients to connect after handling the request to ClientHandler thread.\r\n\r\n- The ClientHandler thread checks if the request if of \"GET\" type. If not it returns a 405 Status Code to the Client.\r\n If it is of \"GET\" type, it checks whether the Client seeks for a file or directory.\r\n If the Client seeks for a file, it checks whether the file exists. If it exists it returns the file else return a 404 Status Code.\r\n If the Client seeks for a directory, it checks if an index.html is present in that directory. If found, it returns that index.html to the client. Else, it generates a list of files and folders in that directory and returns that list.\r\n\r\n**This interface has been tested on web browsers and is fully functional**\r\n\r\n_PS - You should have Argparse4j package (3rd party API) installed on your machine in order to run this Java HTTP Server._\r\n","created_at":"2017-03-30T19:35:52Z","updated_at":"2017-04-05T15:38:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"92b1c476ad59dd22f6b360d921e84e3f629af0fc","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/28/commits","review_comments_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/28/comments","review_comment_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/issues/28/comments","statuses_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/statuses/6a1ed1371ad36d69ad48d9effeaca78b8db47faf","head":{"label":"divyanshjr:Assignment-2.3","ref":"Assignment-2.3","sha":"6a1ed1371ad36d69ad48d9effeaca78b8db47faf","user":{"login":"divyanshjr","id":23135361,"avatar_url":"https://avatars2.githubusercontent.com/u/23135361?v=3","gravatar_id":"","url":"https://api.github.com/users/divyanshjr","html_url":"https://github.com/divyanshjr","followers_url":"https://api.github.com/users/divyanshjr/followers","following_url":"https://api.github.com/users/divyanshjr/following{/other_user}","gists_url":"https://api.github.com/users/divyanshjr/gists{/gist_id}","starred_url":"https://api.github.com/users/divyanshjr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/divyanshjr/subscriptions","organizations_url":"https://api.github.com/users/divyanshjr/orgs","repos_url":"https://api.github.com/users/divyanshjr/repos","events_url":"https://api.github.com/users/divyanshjr/events{/privacy}","received_events_url":"https://api.github.com/users/divyanshjr/received_events","type":"User","site_admin":false},"repo":{"id":85423627,"name":"project-omega","full_name":"divyanshjr/project-omega","owner":{"login":"divyanshjr","id":23135361,"avatar_url":"https://avatars2.githubusercontent.com/u/23135361?v=3","gravatar_id":"","url":"https://api.github.com/users/divyanshjr","html_url":"https://github.com/divyanshjr","followers_url":"https://api.github.com/users/divyanshjr/followers","following_url":"https://api.github.com/users/divyanshjr/following{/other_user}","gists_url":"https://api.github.com/users/divyanshjr/gists{/gist_id}","starred_url":"https://api.github.com/users/divyanshjr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/divyanshjr/subscriptions","organizations_url":"https://api.github.com/users/divyanshjr/orgs","repos_url":"https://api.github.com/users/divyanshjr/repos","events_url":"https://api.github.com/users/divyanshjr/events{/privacy}","received_events_url":"https://api.github.com/users/divyanshjr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/divyanshjr/project-omega","description":null,"fork":true,"url":"https://api.github.com/repos/divyanshjr/project-omega","forks_url":"https://api.github.com/repos/divyanshjr/project-omega/forks","keys_url":"https://api.github.com/repos/divyanshjr/project-omega/keys{/key_id}","collaborators_url":"https://api.github.com/repos/divyanshjr/project-omega/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/divyanshjr/project-omega/teams","hooks_url":"https://api.github.com/repos/divyanshjr/project-omega/hooks","issue_events_url":"https://api.github.com/repos/divyanshjr/project-omega/issues/events{/number}","events_url":"https://api.github.com/repos/divyanshjr/project-omega/events","assignees_url":"https://api.github.com/repos/divyanshjr/project-omega/assignees{/user}","branches_url":"https://api.github.com/repos/divyanshjr/project-omega/branches{/branch}","tags_url":"https://api.github.com/repos/divyanshjr/project-omega/tags","blobs_url":"https://api.github.com/repos/divyanshjr/project-omega/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/divyanshjr/project-omega/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/divyanshjr/project-omega/git/refs{/sha}","trees_url":"https://api.github.com/repos/divyanshjr/project-omega/git/trees{/sha}","statuses_url":"https://api.github.com/repos/divyanshjr/project-omega/statuses/{sha}","languages_url":"https://api.github.com/repos/divyanshjr/project-omega/languages","stargazers_url":"https://api.github.com/repos/divyanshjr/project-omega/stargazers","contributors_url":"https://api.github.com/repos/divyanshjr/project-omega/contributors","subscribers_url":"https://api.github.com/repos/divyanshjr/project-omega/subscribers","subscription_url":"https://api.github.com/repos/divyanshjr/project-omega/subscription","commits_url":"https://api.github.com/repos/divyanshjr/project-omega/commits{/sha}","git_commits_url":"https://api.github.com/repos/divyanshjr/project-omega/git/commits{/sha}","comments_url":"https://api.github.com/repos/divyanshjr/project-omega/comments{/number}","issue_comment_url":"https://api.github.com/repos/divyanshjr/project-omega/issues/comments{/number}","contents_url":"https://api.github.com/repos/divyanshjr/project-omega/contents/{+path}","compare_url":"https://api.github.com/repos/divyanshjr/project-omega/compare/{base}...{head}","merges_url":"https://api.github.com/repos/divyanshjr/project-omega/merges","archive_url":"https://api.github.com/repos/divyanshjr/project-omega/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/divyanshjr/project-omega/downloads","issues_url":"https://api.github.com/repos/divyanshjr/project-omega/issues{/number}","pulls_url":"https://api.github.com/repos/divyanshjr/project-omega/pulls{/number}","milestones_url":"https://api.github.com/repos/divyanshjr/project-omega/milestones{/number}","notifications_url":"https://api.github.com/repos/divyanshjr/project-omega/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/divyanshjr/project-omega/labels{/name}","releases_url":"https://api.github.com/repos/divyanshjr/project-omega/releases{/id}","deployments_url":"https://api.github.com/repos/divyanshjr/project-omega/deployments","created_at":"2017-03-18T18:36:08Z","updated_at":"2017-04-03T15:09:32Z","pushed_at":"2017-04-05T07:41:27Z","git_url":"git://github.com/divyanshjr/project-omega.git","ssh_url":"git@github.com:divyanshjr/project-omega.git","clone_url":"https://github.com/divyanshjr/project-omega.git","svn_url":"https://github.com/divyanshjr/project-omega","homepage":"","size":47,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"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":"kaustubh-karkare:master","ref":"master","sha":"0db6beb9fe31f9252e0a42c128e483247155b92d","user":{"login":"kaustubh-karkare","id":1102450,"avatar_url":"https://avatars3.githubusercontent.com/u/1102450?v=3","gravatar_id":"","url":"https://api.github.com/users/kaustubh-karkare","html_url":"https://github.com/kaustubh-karkare","followers_url":"https://api.github.com/users/kaustubh-karkare/followers","following_url":"https://api.github.com/users/kaustubh-karkare/following{/other_user}","gists_url":"https://api.github.com/users/kaustubh-karkare/gists{/gist_id}","starred_url":"https://api.github.com/users/kaustubh-karkare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaustubh-karkare/subscriptions","organizations_url":"https://api.github.com/users/kaustubh-karkare/orgs","repos_url":"https://api.github.com/users/kaustubh-karkare/repos","events_url":"https://api.github.com/users/kaustubh-karkare/events{/privacy}","received_events_url":"https://api.github.com/users/kaustubh-karkare/received_events","type":"User","site_admin":false},"repo":{"id":82849815,"name":"project-omega","full_name":"kaustubh-karkare/project-omega","owner":{"login":"kaustubh-karkare","id":1102450,"avatar_url":"https://avatars3.githubusercontent.com/u/1102450?v=3","gravatar_id":"","url":"https://api.github.com/users/kaustubh-karkare","html_url":"https://github.com/kaustubh-karkare","followers_url":"https://api.github.com/users/kaustubh-karkare/followers","following_url":"https://api.github.com/users/kaustubh-karkare/following{/other_user}","gists_url":"https://api.github.com/users/kaustubh-karkare/gists{/gist_id}","starred_url":"https://api.github.com/users/kaustubh-karkare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaustubh-karkare/subscriptions","organizations_url":"https://api.github.com/users/kaustubh-karkare/orgs","repos_url":"https://api.github.com/users/kaustubh-karkare/repos","events_url":"https://api.github.com/users/kaustubh-karkare/events{/privacy}","received_events_url":"https://api.github.com/users/kaustubh-karkare/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kaustubh-karkare/project-omega","description":null,"fork":false,"url":"https://api.github.com/repos/kaustubh-karkare/project-omega","forks_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/forks","keys_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/teams","hooks_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/hooks","issue_events_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/issues/events{/number}","events_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/events","assignees_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/assignees{/user}","branches_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/branches{/branch}","tags_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/tags","blobs_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/git/refs{/sha}","trees_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/statuses/{sha}","languages_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/languages","stargazers_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/stargazers","contributors_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/contributors","subscribers_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/subscribers","subscription_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/subscription","commits_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/commits{/sha}","git_commits_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/git/commits{/sha}","comments_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/comments{/number}","issue_comment_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/issues/comments{/number}","contents_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/contents/{+path}","compare_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/merges","archive_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/downloads","issues_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/issues{/number}","pulls_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls{/number}","milestones_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/milestones{/number}","notifications_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/labels{/name}","releases_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/releases{/id}","deployments_url":"https://api.github.com/repos/kaustubh-karkare/project-omega/deployments","created_at":"2017-02-22T20:34:46Z","updated_at":"2017-04-01T10:27:56Z","pushed_at":"2017-04-05T13:14:38Z","git_url":"git://github.com/kaustubh-karkare/project-omega.git","ssh_url":"git@github.com:kaustubh-karkare/project-omega.git","clone_url":"https://github.com/kaustubh-karkare/project-omega.git","svn_url":"https://github.com/kaustubh-karkare/project-omega","homepage":"","size":11,"stargazers_count":2,"watchers_count":2,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":13,"mirror_url":null,"open_issues_count":27,"forks":13,"open_issues":27,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/28"},"html":{"href":"https://github.com/kaustubh-karkare/project-omega/pull/28"},"issue":{"href":"https://api.github.com/repos/kaustubh-karkare/project-omega/issues/28"},"comments":{"href":"https://api.github.com/repos/kaustubh-karkare/project-omega/issues/28/comments"},"review_comments":{"href":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/28/comments"},"review_comment":{"href":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kaustubh-karkare/project-omega/pulls/28/commits"},"statuses":{"href":"https://api.github.com/repos/kaustubh-karkare/project-omega/statuses/6a1ed1371ad36d69ad48d9effeaca78b8db47faf"}}}}
{"actor":{"display_login":"kaustubh-karkare"}}