diff options
| -rw-r--r-- | src/ng/http.js | 16 | ||||
| -rw-r--r-- | test/ng/httpSpec.js | 16 | 
2 files changed, 32 insertions, 0 deletions
| diff --git a/src/ng/http.js b/src/ng/http.js index 3942c5c7..0c16e2d0 100644 --- a/src/ng/http.js +++ b/src/ng/http.js @@ -223,6 +223,9 @@ function $HttpProvider() {       * with name equal to the lower-cased http method name, e.g.       * `$httpProvider.defaults.headers.get['My-Header']='value'`.       * +     * Additionally, the defaults can be set at runtime via the `$http.defaults` object in a similar +     * fassion as described above. +     *       *       * # Transforming Requests and Responses       * @@ -604,6 +607,19 @@ function $HttpProvider() {       */      createShortMethodsWithData('post', 'put'); +        /** +         * @ngdoc property +         * @name angular.module.ng.$http#defaults +         * @propertyOf angular.module.ng.$http +         * +         * @description +         * Runtime equivalent of the `$httpProvider.defaults` property. Allows configuration of +         * default headers as well as request and response transformations. +         * +         * See "Setting HTTP Headers" and "Transforming Requests and Responses" sections above. +         */ +    $http.defaults = $config; +      return $http; diff --git a/test/ng/httpSpec.js b/test/ng/httpSpec.js index 24ff50b4..9c01db65 100644 --- a/test/ng/httpSpec.js +++ b/test/ng/httpSpec.js @@ -940,6 +940,22 @@ describe('$http', function() {          $httpBackend.flush();        });      }); + + +    describe('defaults', function() { + +      it('should expose the defaults object at runtime', function() { +        expect($http.defaults).toBeDefined(); + +        $http.defaults.headers.common.foo = 'bar'; +        $httpBackend.expect('GET', '/url', undefined, function(headers) { +          return headers['foo'] == 'bar'; +        }).respond(''); + +        $http.get('/url'); +        $httpBackend.flush(); +      }); +    });    }); | 
