Why not make cacheable a detector itself? And only include GET requests? `$request->is('cacheable')`?