{"action":"created","issue":{"url":"https://api.github.com/repos/rethinkdb/horizon/issues/607","repository_url":"https://api.github.com/repos/rethinkdb/horizon","labels_url":"https://api.github.com/repos/rethinkdb/horizon/issues/607/labels{/name}","comments_url":"https://api.github.com/repos/rethinkdb/horizon/issues/607/comments","events_url":"https://api.github.com/repos/rethinkdb/horizon/issues/607/events","html_url":"https://github.com/rethinkdb/horizon/pull/607","id":161007100,"number":607,"title":"Tryneus and Mlucy's Horizon Plugins Proposal","user":{"login":"Tryneus","id":552910,"avatar_url":"https://avatars.githubusercontent.com/u/552910?v=3","gravatar_id":"","url":"https://api.github.com/users/Tryneus","html_url":"https://github.com/Tryneus","followers_url":"https://api.github.com/users/Tryneus/followers","following_url":"https://api.github.com/users/Tryneus/following{/other_user}","gists_url":"https://api.github.com/users/Tryneus/gists{/gist_id}","starred_url":"https://api.github.com/users/Tryneus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tryneus/subscriptions","organizations_url":"https://api.github.com/users/Tryneus/orgs","repos_url":"https://api.github.com/users/Tryneus/repos","events_url":"https://api.github.com/users/Tryneus/events{/privacy}","received_events_url":"https://api.github.com/users/Tryneus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"deontologician","id":1366,"avatar_url":"https://avatars.githubusercontent.com/u/1366?v=3","gravatar_id":"","url":"https://api.github.com/users/deontologician","html_url":"https://github.com/deontologician","followers_url":"https://api.github.com/users/deontologician/followers","following_url":"https://api.github.com/users/deontologician/following{/other_user}","gists_url":"https://api.github.com/users/deontologician/gists{/gist_id}","starred_url":"https://api.github.com/users/deontologician/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deontologician/subscriptions","organizations_url":"https://api.github.com/users/deontologician/orgs","repos_url":"https://api.github.com/users/deontologician/repos","events_url":"https://api.github.com/users/deontologician/events{/privacy}","received_events_url":"https://api.github.com/users/deontologician/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2016-06-18T04:58:39Z","updated_at":"2016-06-19T05:33:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rethinkdb/horizon/pulls/607","html_url":"https://github.com/rethinkdb/horizon/pull/607","diff_url":"https://github.com/rethinkdb/horizon/pull/607.diff","patch_url":"https://github.com/rethinkdb/horizon/pull/607.patch"},"body":"This may or may not be approved by mlucy, although we went over several of these changes together.  This was a result of a discussion with @coffeemug, looking to pare down the surface area of the proposal to something more reasonable to implement in the short term.\r\n\r\nThis proposal breaks the plugins API up into two phases, the first provides a way to add HTTP handlers and `hz` commands.  The second provides pluggable horizon websocket protocol request types and authentication methods (like `unauthenticated`, `anonymous`, and `token`).\r\n\r\nWe dropped external processes, validator extensions, client validation, and we simplified plugin configuration options.\r\n\r\n@josh - do your _worst_.\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"35\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/rethinkdb/horizon/607)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/rethinkdb/horizon/issues/comments/226980544","html_url":"https://github.com/rethinkdb/horizon/pull/607#issuecomment-226980544","issue_url":"https://api.github.com/repos/rethinkdb/horizon/issues/607","id":226980544,"user":{"login":"abastardi","id":1295688,"avatar_url":"https://avatars.githubusercontent.com/u/1295688?v=3","gravatar_id":"","url":"https://api.github.com/users/abastardi","html_url":"https://github.com/abastardi","followers_url":"https://api.github.com/users/abastardi/followers","following_url":"https://api.github.com/users/abastardi/following{/other_user}","gists_url":"https://api.github.com/users/abastardi/gists{/gist_id}","starred_url":"https://api.github.com/users/abastardi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abastardi/subscriptions","organizations_url":"https://api.github.com/users/abastardi/orgs","repos_url":"https://api.github.com/users/abastardi/repos","events_url":"https://api.github.com/users/abastardi/events{/privacy}","received_events_url":"https://api.github.com/users/abastardi/received_events","type":"User","site_admin":false},"created_at":"2016-06-19T05:33:03Z","updated_at":"2016-06-19T05:33:03Z","body":"\n\n\n\nReview status: 0 of 1 files reviewed at latest revision, 1 unresolved discussion.\n\n---\n\n*[rfcs/plugins.md, line 218 \\[r1\\]](https://reviewable.io:443/reviews/rethinkdb/horizon/607#-KKb83OSPZEK8OMIDT9z:-KKb83OSPZEK8OMIDTA-:605434264) ([raw file](https://github.com/rethinkdb/horizon/blob/fd985cf6a4aa5b609c1ed8780cdddefef710e0d8/rfcs/plugins.md#L218)):*\n> ```Markdown\n> \n> The handler function is a function of the format:\n> `(request, context, send, done) => { ... }`\n> ```\n\nWhy not make custom handler functions have the same signature as the built-in handlers (i.e., with `ruleset` and `metadata` as separate arguments)?\n\n---\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/rethinkdb/horizon/607)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"abastardi"}}