{"action":"closed","issue":{"url":"https://api.github.com/repos/mholt/caddy/issues/36","labels_url":"https://api.github.com/repos/mholt/caddy/issues/36/labels{/name}","comments_url":"https://api.github.com/repos/mholt/caddy/issues/36/comments","events_url":"https://api.github.com/repos/mholt/caddy/issues/36/events","html_url":"https://github.com/mholt/caddy/issues/36","id":72557083,"number":36,"title":"Middleware Management and Organization ","user":{"login":"pedronasser","id":2278084,"avatar_url":"https://avatars.githubusercontent.com/u/2278084?v=3","gravatar_id":"","url":"https://api.github.com/users/pedronasser","html_url":"https://github.com/pedronasser","followers_url":"https://api.github.com/users/pedronasser/followers","following_url":"https://api.github.com/users/pedronasser/following{/other_user}","gists_url":"https://api.github.com/users/pedronasser/gists{/gist_id}","starred_url":"https://api.github.com/users/pedronasser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pedronasser/subscriptions","organizations_url":"https://api.github.com/users/pedronasser/orgs","repos_url":"https://api.github.com/users/pedronasser/repos","events_url":"https://api.github.com/users/pedronasser/events{/privacy}","received_events_url":"https://api.github.com/users/pedronasser/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mholt/caddy/labels/in%20progress","name":"in progress","color":"fbca04"},{"url":"https://api.github.com/repos/mholt/caddy/labels/suggestion","name":"suggestion","color":"c7def8"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-05-02T00:38:48Z","updated_at":"2015-06-26T01:47:06Z","closed_at":"2015-06-26T01:47:06Z","body":"I know @mholt is already working on a new way to create and import caddy's middlewares. But I'm here to open a discussion about something related to that.\r\n\r\nI would like to leave here some statements (my opinion) for each topic.\r\n\r\n## Core middleware\r\n\r\n- Each core middleware should have it's own repository on github.\r\n\r\n- The core should, for default, import only **essential and very common middlewares**, example: gzip, browse, proxy, redirect, extension.\r\n\r\n- Other non common middlewares could be installed using the middleware management command line tool.\r\n\r\n## Middleware management\r\n\r\n- The source file that imports and registers all middlewares `config/middleware.go`, should have only importing and registering instructions. This will allow us to create a command-line tool for the middleware management, that only generates this source file."}}