{"action":"created","issue":{"url":"https://api.github.com/repos/rejectedsoftware/vibe.d/issues/1193","labels_url":"https://api.github.com/repos/rejectedsoftware/vibe.d/issues/1193/labels{/name}","comments_url":"https://api.github.com/repos/rejectedsoftware/vibe.d/issues/1193/comments","events_url":"https://api.github.com/repos/rejectedsoftware/vibe.d/issues/1193/events","html_url":"https://github.com/rejectedsoftware/vibe.d/pull/1193","id":96918525,"number":1193,"title":"Proof of concept for simple route aggregation helper","user":{"login":"Dicebot","id":1132234,"avatar_url":"https://avatars.githubusercontent.com/u/1132234?v=3","gravatar_id":"","url":"https://api.github.com/users/Dicebot","html_url":"https://github.com/Dicebot","followers_url":"https://api.github.com/users/Dicebot/followers","following_url":"https://api.github.com/users/Dicebot/following{/other_user}","gists_url":"https://api.github.com/users/Dicebot/gists{/gist_id}","starred_url":"https://api.github.com/users/Dicebot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dicebot/subscriptions","organizations_url":"https://api.github.com/users/Dicebot/orgs","repos_url":"https://api.github.com/users/Dicebot/repos","events_url":"https://api.github.com/users/Dicebot/events{/privacy}","received_events_url":"https://api.github.com/users/Dicebot/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-07-23T22:32:27Z","updated_at":"2015-07-24T19:11:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rejectedsoftware/vibe.d/pulls/1193","html_url":"https://github.com/rejectedsoftware/vibe.d/pull/1193","diff_url":"https://github.com/rejectedsoftware/vibe.d/pull/1193.diff","patch_url":"https://github.com/rejectedsoftware/vibe.d/pull/1193.patch"},"body":"Recently I was playing with simple vibe.d application for personal pleasure (https://github.com/Dicebot/mood) and found myself very unsatisfied with how route definitions for non-REST methods are separated from actual handlers in code, making it harder to maintain them in sync.\r\n\r\nThis has resulted in writing a very simple helper to register bunch of request handlers defined in a single class object in a given router. Not sure where such utility should be placed thus module name is a stub :)"},"comment":{"url":"https://api.github.com/repos/rejectedsoftware/vibe.d/issues/comments/124645805","html_url":"https://github.com/rejectedsoftware/vibe.d/pull/1193#issuecomment-124645805","issue_url":"https://api.github.com/repos/rejectedsoftware/vibe.d/issues/1193","id":124645805,"user":{"login":"s-ludwig","id":1645969,"avatar_url":"https://avatars.githubusercontent.com/u/1645969?v=3","gravatar_id":"","url":"https://api.github.com/users/s-ludwig","html_url":"https://github.com/s-ludwig","followers_url":"https://api.github.com/users/s-ludwig/followers","following_url":"https://api.github.com/users/s-ludwig/following{/other_user}","gists_url":"https://api.github.com/users/s-ludwig/gists{/gist_id}","starred_url":"https://api.github.com/users/s-ludwig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s-ludwig/subscriptions","organizations_url":"https://api.github.com/users/s-ludwig/orgs","repos_url":"https://api.github.com/users/s-ludwig/repos","events_url":"https://api.github.com/users/s-ludwig/events{/privacy}","received_events_url":"https://api.github.com/users/s-ludwig/received_events","type":"User","site_admin":false},"created_at":"2015-07-24T19:11:23Z","updated_at":"2015-07-24T19:11:23Z","body":"Or just a `@noRoute` attribute in `vibe.web.common` that is supported for both kinds of interface generators."}}