Define the header on all $ resource methods


I'm using ng-resource in Angular to access a RESTful API. I created a simple factory to perform this.

.factory('Bookmark', function($resource){
    return $resource('');

And in the controller I used Bookmark.query:

.controller('MainController', function($scope, Category, Bookmark){
    $ = 'Carl';
        $scope.categories = data.categories;
        $scope.currentCategory = data.categories[0];
        $scope.bookmarks = Bookmark.query();

I need to use and Bookmark.removeand also a token in the Authorization header. Searching this is the approach I have to use:

$resource('url/to/json', {}, {
    get: {
        method: 'GET',
        headers: { 'something': 'anything' }

But it works just to the get method and I want to use send the token in every $resource methods. I do not want to overwrite all the methods just to send this header. Is there any other solution?

You can create an httpInterceptor, something like this from the angular docs:

$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
    return {
      'request': function(config) {
          // add headers
          return config;