{"action":"opened","issue":{"url":"https://api.github.com/repos/koajs/koa/issues/591","labels_url":"https://api.github.com/repos/koajs/koa/issues/591/labels{/name}","comments_url":"https://api.github.com/repos/koajs/koa/issues/591/comments","events_url":"https://api.github.com/repos/koajs/koa/issues/591/events","html_url":"https://github.com/koajs/koa/issues/591","id":115651886,"number":591,"title":"[Koa 2] Style of middleware with extra arguments","user":{"login":"gyson","id":4263515,"avatar_url":"https://avatars.githubusercontent.com/u/4263515?v=3","gravatar_id":"","url":"https://api.github.com/users/gyson","html_url":"https://github.com/gyson","followers_url":"https://api.github.com/users/gyson/followers","following_url":"https://api.github.com/users/gyson/following{/other_user}","gists_url":"https://api.github.com/users/gyson/gists{/gist_id}","starred_url":"https://api.github.com/users/gyson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gyson/subscriptions","organizations_url":"https://api.github.com/users/gyson/orgs","repos_url":"https://api.github.com/users/gyson/repos","events_url":"https://api.github.com/users/gyson/events{/privacy}","received_events_url":"https://api.github.com/users/gyson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-07T09:28:14Z","updated_at":"2015-11-07T09:28:14Z","closed_at":null,"body":"in Koa 1.x, middleware (e.g. `koa-route`, `koa-router`) with extra arguments would use:\r\n\r\n```\r\nfunction * (a, b, c, next) { ... }\r\n```\r\n\r\ne.g. in `koa-route`\r\n\r\n```js\r\napp.use(_.get('/pets/:name', function * (name, next) {\r\n\r\n})\r\n```\r\n\r\nWhich styles should we use in Koa 2 ?\r\n\r\n1. `(ctx, next, a, b, c) => { ... }`\r\n2. `(ctx, a, b, c, next) => { ... }`\r\n3. `(a, b, c, ctx, next) => { ... }`\r\n\r\nI think we need a consensus about it.\r\n\r\nWhat's your opinion ?"}}