{"action":"created","issue":{"url":"https://api.github.com/repos/valum-framework/valum/issues/51","labels_url":"https://api.github.com/repos/valum-framework/valum/issues/51/labels{/name}","comments_url":"https://api.github.com/repos/valum-framework/valum/issues/51/comments","events_url":"https://api.github.com/repos/valum-framework/valum/issues/51/events","html_url":"https://github.com/valum-framework/valum/issues/51","id":58158069,"number":51,"title":"Middleware","user":{"login":"arteymix","id":1318477,"avatar_url":"https://avatars.githubusercontent.com/u/1318477?v=3","gravatar_id":"","url":"https://api.github.com/users/arteymix","html_url":"https://github.com/arteymix","followers_url":"https://api.github.com/users/arteymix/followers","following_url":"https://api.github.com/users/arteymix/following{/other_user}","gists_url":"https://api.github.com/users/arteymix/gists{/gist_id}","starred_url":"https://api.github.com/users/arteymix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arteymix/subscriptions","organizations_url":"https://api.github.com/users/arteymix/orgs","repos_url":"https://api.github.com/users/arteymix/repos","events_url":"https://api.github.com/users/arteymix/events{/privacy}","received_events_url":"https://api.github.com/users/arteymix/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/valum-framework/valum/labels/documentation","name":"documentation","color":"fbca04"},{"url":"https://api.github.com/repos/valum-framework/valum/labels/feature","name":"feature","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"arteymix","id":1318477,"avatar_url":"https://avatars.githubusercontent.com/u/1318477?v=3","gravatar_id":"","url":"https://api.github.com/users/arteymix","html_url":"https://github.com/arteymix","followers_url":"https://api.github.com/users/arteymix/followers","following_url":"https://api.github.com/users/arteymix/following{/other_user}","gists_url":"https://api.github.com/users/arteymix/gists{/gist_id}","starred_url":"https://api.github.com/users/arteymix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arteymix/subscriptions","organizations_url":"https://api.github.com/users/arteymix/orgs","repos_url":"https://api.github.com/users/arteymix/repos","events_url":"https://api.github.com/users/arteymix/events{/privacy}","received_events_url":"https://api.github.com/users/arteymix/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/valum-framework/valum/milestones/3","html_url":"https://github.com/valum-framework/valum/milestones/0.1.1-alpha","labels_url":"https://api.github.com/repos/valum-framework/valum/milestones/3/labels","id":1133105,"number":3,"title":"0.1.1-alpha","description":"Backport minor improvments from `0.2` and hotfix the current release.\r\n\r\nThis release will probably remove some features in light of the `0.2` development.\r\n\r\nIt would be also great to enrich the documentation with more examples and recipes for day-to-day web development in Vala.","creator":{"login":"arteymix","id":1318477,"avatar_url":"https://avatars.githubusercontent.com/u/1318477?v=3","gravatar_id":"","url":"https://api.github.com/users/arteymix","html_url":"https://github.com/arteymix","followers_url":"https://api.github.com/users/arteymix/followers","following_url":"https://api.github.com/users/arteymix/following{/other_user}","gists_url":"https://api.github.com/users/arteymix/gists{/gist_id}","starred_url":"https://api.github.com/users/arteymix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arteymix/subscriptions","organizations_url":"https://api.github.com/users/arteymix/orgs","repos_url":"https://api.github.com/users/arteymix/repos","events_url":"https://api.github.com/users/arteymix/events{/privacy}","received_events_url":"https://api.github.com/users/arteymix/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":0,"state":"open","created_at":"2015-05-26T05:38:01Z","updated_at":"2015-05-27T05:35:25Z","due_on":"2015-05-29T04:00:00Z","closed_at":null},"comments":6,"created_at":"2015-02-19T01:52:41Z","updated_at":"2015-05-27T05:43:32Z","closed_at":null,"body":"Middleware can be implemented in a _dead-simple_ manner.\r\n\r\nFunctions that respect the `Route.RouteCallback` signature are valid middlewares, absolutely no code change involved.\r\n\r\nWe could predefine some useful middlewares in a static class or as a set of static function in a namespace that user could bind to specific rules, regex or matcher.\r\n\r\nExpress.js has some nice middlewares we could make use of: https://github.com/senchalabs/connect?_ga=1.268126861.268308174.1424308974#middleware\r\n\r\n - serve [GLib.Resource](https://developer.gnome.org/gio/stable/gio-GResource.html)\r\n - serve static files\r\n - authentication?\r\n - RESTful api generation?"},"comment":{"url":"https://api.github.com/repos/valum-framework/valum/issues/comments/105763898","html_url":"https://github.com/valum-framework/valum/issues/51#issuecomment-105763898","issue_url":"https://api.github.com/repos/valum-framework/valum/issues/51","id":105763898,"user":{"login":"arteymix","id":1318477,"avatar_url":"https://avatars.githubusercontent.com/u/1318477?v=3","gravatar_id":"","url":"https://api.github.com/users/arteymix","html_url":"https://github.com/arteymix","followers_url":"https://api.github.com/users/arteymix/followers","following_url":"https://api.github.com/users/arteymix/following{/other_user}","gists_url":"https://api.github.com/users/arteymix/gists{/gist_id}","starred_url":"https://api.github.com/users/arteymix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arteymix/subscriptions","organizations_url":"https://api.github.com/users/arteymix/orgs","repos_url":"https://api.github.com/users/arteymix/repos","events_url":"https://api.github.com/users/arteymix/events{/privacy}","received_events_url":"https://api.github.com/users/arteymix/received_events","type":"User","site_admin":false},"created_at":"2015-05-27T05:43:32Z","updated_at":"2015-05-27T05:43:32Z","body":"Okay, I removed the teardown signal in `0.2`."}}