{"action":"created","comment":{"url":"https://api.github.com/repos/decrypto-org/rupture/pulls/comments/108477669","pull_request_review_id":29511140,"id":108477669,"diff_hunk":"@@ -0,0 +1,130 @@\n+import React from 'react';\n+import { Modal } from 'react-modal-bootstrap'; \n+import { browserHistory } from 'react-router';\n+import axios from 'axios';\n+import CreateTarget from './CreateTarget';\n+import VictimIP from './VictimIP';\n+import _ from 'lodash';\n+\n+export default class ConfigForm extends React.Component {\n+\n+    constructor() {\n+        super();\n+        this.openModal = this.openModal.bind(this);\n+        this.closeModal = this.closeModal.bind(this);\n+        this.enumerateTargets = this.enumerateTargets.bind(this);\n+        this.handleSubmit = this.handleSubmit.bind(this);\n+        this.handleTarget = this.handleTarget.bind(this);\n+        this.handleIp = this.handleIp.bind(this);\n+        this.createForm = this.createForm.bind(this);\n+\n+        this.state = { \n+            showModal: false,","path":"frontend/src/containers/ConfigForm.js","position":22,"original_position":22,"commit_id":"11dff9dd0ed5dd3c9bcaedfa75f9dee523053adc","original_commit_id":"11dff9dd0ed5dd3c9bcaedfa75f9dee523053adc","user":{"login":"dionyziz","id":544572,"avatar_url":"https://avatars1.githubusercontent.com/u/544572?v=3","gravatar_id":"","url":"https://api.github.com/users/dionyziz","html_url":"https://github.com/dionyziz","followers_url":"https://api.github.com/users/dionyziz/followers","following_url":"https://api.github.com/users/dionyziz/following{/other_user}","gists_url":"https://api.github.com/users/dionyziz/gists{/gist_id}","starred_url":"https://api.github.com/users/dionyziz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dionyziz/subscriptions","organizations_url":"https://api.github.com/users/dionyziz/orgs","repos_url":"https://api.github.com/users/dionyziz/repos","events_url":"https://api.github.com/users/dionyziz/events{/privacy}","received_events_url":"https://api.github.com/users/dionyziz/received_events","type":"User","site_admin":false},"body":"`showModal` unused. Use `showModal` everywhere below where you have used `open`.","created_at":"2017-03-28T17:01:10Z","updated_at":"2017-03-28T17:01:10Z","html_url":"https://github.com/decrypto-org/rupture/pull/201#discussion_r108477669","pull_request_url":"https://api.github.com/repos/decrypto-org/rupture/pulls/201","_links":{"self":{"href":"https://api.github.com/repos/decrypto-org/rupture/pulls/comments/108477669"},"html":{"href":"https://github.com/decrypto-org/rupture/pull/201#discussion_r108477669"},"pull_request":{"href":"https://api.github.com/repos/decrypto-org/rupture/pulls/201"}}},"pull_request":{"url":"https://api.github.com/repos/decrypto-org/rupture/pulls/201","id":82952180,"html_url":"https://github.com/decrypto-org/rupture/pull/201","diff_url":"https://github.com/decrypto-org/rupture/pull/201.diff","patch_url":"https://github.com/decrypto-org/rupture/pull/201.patch","issue_url":"https://api.github.com/repos/decrypto-org/rupture/issues/201","number":201,"state":"open","locked":false,"title":"WebUI in Reactjs","user":{"login":"esarafianou","id":17114347,"avatar_url":"https://avatars3.githubusercontent.com/u/17114347?v=3","gravatar_id":"","url":"https://api.github.com/users/esarafianou","html_url":"https://github.com/esarafianou","followers_url":"https://api.github.com/users/esarafianou/followers","following_url":"https://api.github.com/users/esarafianou/following{/other_user}","gists_url":"https://api.github.com/users/esarafianou/gists{/gist_id}","starred_url":"https://api.github.com/users/esarafianou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/esarafianou/subscriptions","organizations_url":"https://api.github.com/users/esarafianou/orgs","repos_url":"https://api.github.com/users/esarafianou/repos","events_url":"https://api.github.com/users/esarafianou/events{/privacy}","received_events_url":"https://api.github.com/users/esarafianou/received_events","type":"User","site_admin":false},"body":"A few notes:\r\n1)Files for react components usually start with an uppercase letter.\r\n2) the frontend communicates via backend with a proxy. This is configured in package.json. For more details [here](https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/)\r\n3) We set up the application via create-react-app, the new officially supported way to create single-page React application. More details [here](https://facebook.github.io/react/blog/2016/07/22/create-apps-with-no-configuration.html)\r\n4) create-react-app comes with pre-configured dependencies. If one wants to change the .babelrc or the webpack.config can run npm eject and edit the files. I would like to use a [babel plugin for binding](https://babeljs.io/docs/plugins/transform-function-bind/) but I preferred not to, so as to avoid the eject because of the multiple additional files it creates. More details about eject [here](https://medium.freecodecamp.com/create-react-app-and-the-future-of-creating-react-applications-3c336f29bf1c#.63o4elean)\r\n\r\n\r\nFIxes #292 #289 #288 #286 #285 #284 #109 #287 ","created_at":"2016-08-26T20:50:09Z","updated_at":"2017-03-28T17:01:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"94b1d35714600562db1cf5cdf650b56d50ab4dc4","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/decrypto-org/rupture/pulls/201/commits","review_comments_url":"https://api.github.com/repos/decrypto-org/rupture/pulls/201/comments","review_comment_url":"https://api.github.com/repos/decrypto-org/rupture/pulls/comments{/number}","comments_url":"https://api.github.com/repos/decrypto-org/rupture/issues/201/comments","statuses_url":"https://api.github.com/repos/decrypto-org/rupture/statuses/11dff9dd0ed5dd3c9bcaedfa75f9dee523053adc","head":{"label":"esarafianou:reactjs","ref":"reactjs","sha":"11dff9dd0ed5dd3c9bcaedfa75f9dee523053adc","user":{"login":"esarafianou","id":17114347,"avatar_url":"https://avatars3.githubusercontent.com/u/17114347?v=3","gravatar_id":"","url":"https://api.github.com/users/esarafianou","html_url":"https://github.com/esarafianou","followers_url":"https://api.github.com/users/esarafianou/followers","following_url":"https://api.github.com/users/esarafianou/following{/other_user}","gists_url":"https://api.github.com/users/esarafianou/gists{/gist_id}","starred_url":"https://api.github.com/users/esarafianou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/esarafianou/subscriptions","organizations_url":"https://api.github.com/users/esarafianou/orgs","repos_url":"https://api.github.com/users/esarafianou/repos","events_url":"https://api.github.com/users/esarafianou/events{/privacy}","received_events_url":"https://api.github.com/users/esarafianou/received_events","type":"User","site_admin":false},"repo":{"id":55224742,"name":"rupture","full_name":"esarafianou/rupture","owner":{"login":"esarafianou","id":17114347,"avatar_url":"https://avatars3.githubusercontent.com/u/17114347?v=3","gravatar_id":"","url":"https://api.github.com/users/esarafianou","html_url":"https://github.com/esarafianou","followers_url":"https://api.github.com/users/esarafianou/followers","following_url":"https://api.github.com/users/esarafianou/following{/other_user}","gists_url":"https://api.github.com/users/esarafianou/gists{/gist_id}","starred_url":"https://api.github.com/users/esarafianou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/esarafianou/subscriptions","organizations_url":"https://api.github.com/users/esarafianou/orgs","repos_url":"https://api.github.com/users/esarafianou/repos","events_url":"https://api.github.com/users/esarafianou/events{/privacy}","received_events_url":"https://api.github.com/users/esarafianou/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/esarafianou/rupture","description":"A framework for BREACH and other compression-based crypto attacks","fork":true,"url":"https://api.github.com/repos/esarafianou/rupture","forks_url":"https://api.github.com/repos/esarafianou/rupture/forks","keys_url":"https://api.github.com/repos/esarafianou/rupture/keys{/key_id}","collaborators_url":"https://api.github.com/repos/esarafianou/rupture/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/esarafianou/rupture/teams","hooks_url":"https://api.github.com/repos/esarafianou/rupture/hooks","issue_events_url":"https://api.github.com/repos/esarafianou/rupture/issues/events{/number}","events_url":"https://api.github.com/repos/esarafianou/rupture/events","assignees_url":"https://api.github.com/repos/esarafianou/rupture/assignees{/user}","branches_url":"https://api.github.com/repos/esarafianou/rupture/branches{/branch}","tags_url":"https://api.github.com/repos/esarafianou/rupture/tags","blobs_url":"https://api.github.com/repos/esarafianou/rupture/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/esarafianou/rupture/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/esarafianou/rupture/git/refs{/sha}","trees_url":"https://api.github.com/repos/esarafianou/rupture/git/trees{/sha}","statuses_url":"https://api.github.com/repos/esarafianou/rupture/statuses/{sha}","languages_url":"https://api.github.com/repos/esarafianou/rupture/languages","stargazers_url":"https://api.github.com/repos/esarafianou/rupture/stargazers","contributors_url":"https://api.github.com/repos/esarafianou/rupture/contributors","subscribers_url":"https://api.github.com/repos/esarafianou/rupture/subscribers","subscription_url":"https://api.github.com/repos/esarafianou/rupture/subscription","commits_url":"https://api.github.com/repos/esarafianou/rupture/commits{/sha}","git_commits_url":"https://api.github.com/repos/esarafianou/rupture/git/commits{/sha}","comments_url":"https://api.github.com/repos/esarafianou/rupture/comments{/number}","issue_comment_url":"https://api.github.com/repos/esarafianou/rupture/issues/comments{/number}","contents_url":"https://api.github.com/repos/esarafianou/rupture/contents/{+path}","compare_url":"https://api.github.com/repos/esarafianou/rupture/compare/{base}...{head}","merges_url":"https://api.github.com/repos/esarafianou/rupture/merges","archive_url":"https://api.github.com/repos/esarafianou/rupture/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/esarafianou/rupture/downloads","issues_url":"https://api.github.com/repos/esarafianou/rupture/issues{/number}","pulls_url":"https://api.github.com/repos/esarafianou/rupture/pulls{/number}","milestones_url":"https://api.github.com/repos/esarafianou/rupture/milestones{/number}","notifications_url":"https://api.github.com/repos/esarafianou/rupture/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/esarafianou/rupture/labels{/name}","releases_url":"https://api.github.com/repos/esarafianou/rupture/releases{/id}","deployments_url":"https://api.github.com/repos/esarafianou/rupture/deployments","created_at":"2016-04-01T10:38:21Z","updated_at":"2016-05-24T11:09:54Z","pushed_at":"2017-03-21T18:28:53Z","git_url":"git://github.com/esarafianou/rupture.git","ssh_url":"git@github.com:esarafianou/rupture.git","clone_url":"https://github.com/esarafianou/rupture.git","svn_url":"https://github.com/esarafianou/rupture","homepage":null,"size":10131,"stargazers_count":0,"watchers_count":0,"language":"TeX","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":"develop"}},"base":{"label":"decrypto-org:develop","ref":"develop","sha":"641925b92702524d6d78f3579c408522ac18726b","user":{"login":"decrypto-org","id":26185075,"avatar_url":"https://avatars1.githubusercontent.com/u/26185075?v=3","gravatar_id":"","url":"https://api.github.com/users/decrypto-org","html_url":"https://github.com/decrypto-org","followers_url":"https://api.github.com/users/decrypto-org/followers","following_url":"https://api.github.com/users/decrypto-org/following{/other_user}","gists_url":"https://api.github.com/users/decrypto-org/gists{/gist_id}","starred_url":"https://api.github.com/users/decrypto-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/decrypto-org/subscriptions","organizations_url":"https://api.github.com/users/decrypto-org/orgs","repos_url":"https://api.github.com/users/decrypto-org/repos","events_url":"https://api.github.com/users/decrypto-org/events{/privacy}","received_events_url":"https://api.github.com/users/decrypto-org/received_events","type":"Organization","site_admin":false},"repo":{"id":51319299,"name":"rupture","full_name":"decrypto-org/rupture","owner":{"login":"decrypto-org","id":26185075,"avatar_url":"https://avatars1.githubusercontent.com/u/26185075?v=3","gravatar_id":"","url":"https://api.github.com/users/decrypto-org","html_url":"https://github.com/decrypto-org","followers_url":"https://api.github.com/users/decrypto-org/followers","following_url":"https://api.github.com/users/decrypto-org/following{/other_user}","gists_url":"https://api.github.com/users/decrypto-org/gists{/gist_id}","starred_url":"https://api.github.com/users/decrypto-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/decrypto-org/subscriptions","organizations_url":"https://api.github.com/users/decrypto-org/orgs","repos_url":"https://api.github.com/users/decrypto-org/repos","events_url":"https://api.github.com/users/decrypto-org/events{/privacy}","received_events_url":"https://api.github.com/users/decrypto-org/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/decrypto-org/rupture","description":"A framework for BREACH and other compression-based crypto attacks","fork":false,"url":"https://api.github.com/repos/decrypto-org/rupture","forks_url":"https://api.github.com/repos/decrypto-org/rupture/forks","keys_url":"https://api.github.com/repos/decrypto-org/rupture/keys{/key_id}","collaborators_url":"https://api.github.com/repos/decrypto-org/rupture/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/decrypto-org/rupture/teams","hooks_url":"https://api.github.com/repos/decrypto-org/rupture/hooks","issue_events_url":"https://api.github.com/repos/decrypto-org/rupture/issues/events{/number}","events_url":"https://api.github.com/repos/decrypto-org/rupture/events","assignees_url":"https://api.github.com/repos/decrypto-org/rupture/assignees{/user}","branches_url":"https://api.github.com/repos/decrypto-org/rupture/branches{/branch}","tags_url":"https://api.github.com/repos/decrypto-org/rupture/tags","blobs_url":"https://api.github.com/repos/decrypto-org/rupture/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/decrypto-org/rupture/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/decrypto-org/rupture/git/refs{/sha}","trees_url":"https://api.github.com/repos/decrypto-org/rupture/git/trees{/sha}","statuses_url":"https://api.github.com/repos/decrypto-org/rupture/statuses/{sha}","languages_url":"https://api.github.com/repos/decrypto-org/rupture/languages","stargazers_url":"https://api.github.com/repos/decrypto-org/rupture/stargazers","contributors_url":"https://api.github.com/repos/decrypto-org/rupture/contributors","subscribers_url":"https://api.github.com/repos/decrypto-org/rupture/subscribers","subscription_url":"https://api.github.com/repos/decrypto-org/rupture/subscription","commits_url":"https://api.github.com/repos/decrypto-org/rupture/commits{/sha}","git_commits_url":"https://api.github.com/repos/decrypto-org/rupture/git/commits{/sha}","comments_url":"https://api.github.com/repos/decrypto-org/rupture/comments{/number}","issue_comment_url":"https://api.github.com/repos/decrypto-org/rupture/issues/comments{/number}","contents_url":"https://api.github.com/repos/decrypto-org/rupture/contents/{+path}","compare_url":"https://api.github.com/repos/decrypto-org/rupture/compare/{base}...{head}","merges_url":"https://api.github.com/repos/decrypto-org/rupture/merges","archive_url":"https://api.github.com/repos/decrypto-org/rupture/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/decrypto-org/rupture/downloads","issues_url":"https://api.github.com/repos/decrypto-org/rupture/issues{/number}","pulls_url":"https://api.github.com/repos/decrypto-org/rupture/pulls{/number}","milestones_url":"https://api.github.com/repos/decrypto-org/rupture/milestones{/number}","notifications_url":"https://api.github.com/repos/decrypto-org/rupture/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/decrypto-org/rupture/labels{/name}","releases_url":"https://api.github.com/repos/decrypto-org/rupture/releases{/id}","deployments_url":"https://api.github.com/repos/decrypto-org/rupture/deployments","created_at":"2016-02-08T19:01:04Z","updated_at":"2017-03-06T14:52:18Z","pushed_at":"2017-03-28T16:42:38Z","git_url":"git://github.com/decrypto-org/rupture.git","ssh_url":"git@github.com:decrypto-org/rupture.git","clone_url":"https://github.com/decrypto-org/rupture.git","svn_url":"https://github.com/decrypto-org/rupture","homepage":null,"size":10038,"stargazers_count":169,"watchers_count":169,"language":"TeX","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":32,"mirror_url":null,"open_issues_count":86,"forks":32,"open_issues":86,"watchers":169,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/decrypto-org/rupture/pulls/201"},"html":{"href":"https://github.com/decrypto-org/rupture/pull/201"},"issue":{"href":"https://api.github.com/repos/decrypto-org/rupture/issues/201"},"comments":{"href":"https://api.github.com/repos/decrypto-org/rupture/issues/201/comments"},"review_comments":{"href":"https://api.github.com/repos/decrypto-org/rupture/pulls/201/comments"},"review_comment":{"href":"https://api.github.com/repos/decrypto-org/rupture/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/decrypto-org/rupture/pulls/201/commits"},"statuses":{"href":"https://api.github.com/repos/decrypto-org/rupture/statuses/11dff9dd0ed5dd3c9bcaedfa75f9dee523053adc"}}}}
{"actor":{"display_login":"dionyziz"}}