{"action":"created","issue":{"url":"https://api.github.com/repos/kevinlawler/kona/issues/79","labels_url":"https://api.github.com/repos/kevinlawler/kona/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/kevinlawler/kona/issues/79/comments","events_url":"https://api.github.com/repos/kevinlawler/kona/issues/79/events","html_url":"https://github.com/kevinlawler/kona/issues/79","id":762812,"number":79,"title":"implement -h http_port","user":{"login":"kevinlawler","id":376238,"avatar_url":"https://avatars.githubusercontent.com/u/376238?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinlawler","html_url":"https://github.com/kevinlawler","followers_url":"https://api.github.com/users/kevinlawler/followers","following_url":"https://api.github.com/users/kevinlawler/following{/other_user}","gists_url":"https://api.github.com/users/kevinlawler/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinlawler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinlawler/subscriptions","organizations_url":"https://api.github.com/users/kevinlawler/orgs","repos_url":"https://api.github.com/users/kevinlawler/repos","events_url":"https://api.github.com/users/kevinlawler/events{/privacy}","received_events_url":"https://api.github.com/users/kevinlawler/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kevinlawler/kona/labels/feature","name":"feature","color":"0b02e1"}],"state":"open","locked":false,"assignee":{"login":"kevinlawler","id":376238,"avatar_url":"https://avatars.githubusercontent.com/u/376238?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinlawler","html_url":"https://github.com/kevinlawler","followers_url":"https://api.github.com/users/kevinlawler/followers","following_url":"https://api.github.com/users/kevinlawler/following{/other_user}","gists_url":"https://api.github.com/users/kevinlawler/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinlawler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinlawler/subscriptions","organizations_url":"https://api.github.com/users/kevinlawler/orgs","repos_url":"https://api.github.com/users/kevinlawler/repos","events_url":"https://api.github.com/users/kevinlawler/events{/privacy}","received_events_url":"https://api.github.com/users/kevinlawler/received_events","type":"User","site_admin":false},"milestone":null,"comments":24,"created_at":"2011-04-13T04:58:54Z","updated_at":"2015-05-25T03:51:05Z","closed_at":null,"body":"there is an existing -i feature that opens a port for ipc (does it need to be renamed IPC_PORT from PORT in the code?). create a -h option that opens a port HTTP_PORT for http communication (how to resolve conflicts?)\r\n\r\n    k -h 8080\r\n\r\nit should read in HTTP requests and echo them back by default\r\n\r\n    GET / HTTP/1.1\r\n    Host: 192.168.01.01\r\n    Connection: keep-alive\r\n    User-Agent: ...\r\n    Accept: application/xml,....\r\n    ...\r\n\r\nIf .m.h exists on the tree, .m.h should be applied as a one-argument function to the character vector representation of the request text. if .m.h returns _n, it should continue building the char vec. if it returns anything but _n, echo that value to the client as the response and reset. (so by default .m.h is {x}, in a sense, but don't put an unnecessary value on the tree)\r\n\r\nwe can deviate from and improve on this spec as necessary.\r\n\r\ncode will go into the `select` loop near the IPC code.\r\n"},"comment":{"url":"https://api.github.com/repos/kevinlawler/kona/issues/comments/105116384","html_url":"https://github.com/kevinlawler/kona/issues/79#issuecomment-105116384","issue_url":"https://api.github.com/repos/kevinlawler/kona/issues/79","id":105116384,"user":{"login":"tavmem","id":1459367,"avatar_url":"https://avatars.githubusercontent.com/u/1459367?v=3","gravatar_id":"","url":"https://api.github.com/users/tavmem","html_url":"https://github.com/tavmem","followers_url":"https://api.github.com/users/tavmem/followers","following_url":"https://api.github.com/users/tavmem/following{/other_user}","gists_url":"https://api.github.com/users/tavmem/gists{/gist_id}","starred_url":"https://api.github.com/users/tavmem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tavmem/subscriptions","organizations_url":"https://api.github.com/users/tavmem/orgs","repos_url":"https://api.github.com/users/tavmem/repos","events_url":"https://api.github.com/users/tavmem/events{/privacy}","received_events_url":"https://api.github.com/users/tavmem/received_events","type":"User","site_admin":false},"created_at":"2015-05-25T03:51:05Z","updated_at":"2015-05-25T03:51:05Z","body":"After commit of 5/24/15 titled: \"2 args\"\r\n**Server:**\r\n```\r\n  .m.h:{x,y}\r\n```\r\n**Client:**\r\n```\r\n  (`\"127.0.0.1\";8080) 4: \"123\"\r\n\"\\000\"\r\n  (`\"127.0.0.1\";8080) 4: \"abcd\"\r\n\"123abcd\"\r\n```\r\n**Server:**\r\n```\r\n  .m.h:{(#x)+#y}\r\n```\r\n**Client:**\r\n```\r\n  (`\"127.0.0.1\";8080) 4: \"123\"\r\n\"\\000\"\r\n  (`\"127.0.0.1\";8080) 4: \"abcd\"\r\n\"7\"\r\n```\r\n**Next step:** 3 arguments."}}