{"action":"created","issue":{"url":"https://api.github.com/repos/FriendsOfSymfony/FOSHttpCache/issues/148","labels_url":"https://api.github.com/repos/FriendsOfSymfony/FOSHttpCache/issues/148/labels{/name}","comments_url":"https://api.github.com/repos/FriendsOfSymfony/FOSHttpCache/issues/148/comments","events_url":"https://api.github.com/repos/FriendsOfSymfony/FOSHttpCache/issues/148/events","html_url":"https://github.com/FriendsOfSymfony/FOSHttpCache/issues/148","id":51689549,"number":148,"title":"Ban subscriber for symfony HttpCache","user":{"login":"dbu","id":76576,"avatar_url":"https://avatars.githubusercontent.com/u/76576?v=3","gravatar_id":"","url":"https://api.github.com/users/dbu","html_url":"https://github.com/dbu","followers_url":"https://api.github.com/users/dbu/followers","following_url":"https://api.github.com/users/dbu/following{/other_user}","gists_url":"https://api.github.com/users/dbu/gists{/gist_id}","starred_url":"https://api.github.com/users/dbu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dbu/subscriptions","organizations_url":"https://api.github.com/users/dbu/orgs","repos_url":"https://api.github.com/users/dbu/repos","events_url":"https://api.github.com/users/dbu/events{/privacy}","received_events_url":"https://api.github.com/users/dbu/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/FriendsOfSymfony/FOSHttpCache/labels/Symfony%20HttpCache","name":"Symfony HttpCache","color":"fad8c7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2014-12-11T14:01:02Z","updated_at":"2015-03-16T17:07:55Z","closed_at":null,"body":"See discussion at https://github.com/FriendsOfSymfony/FOSHttpCacheBundle/issues/167 \r\n\r\nezpublish also has an issue on this one: https://jira.ez.no/browse/EZP-22401\r\n\r\nThe idea is to use Stash, as the process would occur very early, I can propose that one would customize Stash driver by overriding a method, [like we did in eZ to store the user context hash](https://github.com/ezsystems/ezpublish-kernel/blob/v2014.07.2/eZ/Bundle/EzPublishCoreBundle/Kernel.php#L178-L206) before FOSHttpCache"},"comment":{"url":"https://api.github.com/repos/FriendsOfSymfony/FOSHttpCache/issues/comments/81813282","html_url":"https://github.com/FriendsOfSymfony/FOSHttpCache/issues/148#issuecomment-81813282","issue_url":"https://api.github.com/repos/FriendsOfSymfony/FOSHttpCache/issues/148","id":81813282,"user":{"login":"dantleech","id":530801,"avatar_url":"https://avatars.githubusercontent.com/u/530801?v=3","gravatar_id":"","url":"https://api.github.com/users/dantleech","html_url":"https://github.com/dantleech","followers_url":"https://api.github.com/users/dantleech/followers","following_url":"https://api.github.com/users/dantleech/following{/other_user}","gists_url":"https://api.github.com/users/dantleech/gists{/gist_id}","starred_url":"https://api.github.com/users/dantleech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dantleech/subscriptions","organizations_url":"https://api.github.com/users/dantleech/orgs","repos_url":"https://api.github.com/users/dantleech/repos","events_url":"https://api.github.com/users/dantleech/events{/privacy}","received_events_url":"https://api.github.com/users/dantleech/received_events","type":"User","site_admin":false},"created_at":"2015-03-16T17:07:55Z","updated_at":"2015-03-16T17:07:55Z","body":"Have [discussed](https://gist.github.com/dantleech/01381aac16657e1cfdbd) with @lolautruche and we have decided to go with an \"eager\" approach, i.e. actively purging the URLs upon BAN requests. We will store a list of URLs against each tag using Stash.\r\n\r\nWe also considered the oposite, passive, approach, i.e. checking if a URL is banned against the incoming request and refereshing the cache, an approach which I detailed [here](https://gist.github.com/dantleech/8e978f3bd4ee3d1c879c).\r\n\r\nFinally I think that eager purging is more performant, @dbu @ddeboer have you got any preferences between the eager and passive approaches?"}}