diff --git a/restangular/restangular-tests.ts b/restangular/restangular-tests.ts index 1bb4b01ee..22473e13e 100644 --- a/restangular/restangular-tests.ts +++ b/restangular/restangular-tests.ts @@ -136,3 +136,10 @@ function test_config() { }); }); } + +function test_withHttpConfig() { + var $scope; + Restangular.one('accounts', 123).withHttpConfig({timeout: 100}).getList('buildings'); + $scope.account = Restangular.one('accounts', 123); + $scope.account.withHttpConfig({timeout: 100}).put(); +} diff --git a/restangular/restangular.d.ts b/restangular/restangular.d.ts index a329b20bf..f6ea5b97b 100644 --- a/restangular/restangular.d.ts +++ b/restangular/restangular.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Restangular v1.2.2 - 2014-01-10 +// Type definitions for Restangular v1.2.2 // Project: https://github.com/mgonto/restangular // Definitions by: Boris Yankov // Definitions: https://github.com/borisyankov/DefinitelyTyped @@ -6,10 +6,23 @@ /// +interface RestangularRequestConfig { + params?: any; + headers?: any; + cache?: any; + withCredentials?: boolean; + data?: any; + transformRequest?: any; + transformResponse?: any; + timeout?: any; // number | promise +} + interface Restangular extends RestangularCustom { one(route: string, id?: number): RestangularElement; one(route: string, id?: string): RestangularElement; + oneUrl(route: string, url: string): RestangularElement; all(route: string): RestangularCollection; + allUrl(route: string, url: string): RestangularCollection; copy(fromElement: any): RestangularElement; withConfig(configurer: (RestangularProvider) => any): Restangular; restangularizeElement(parent: any, element: any, route: string, collection?, reqParams?): RestangularElement; @@ -27,6 +40,7 @@ interface RestangularElement extends Restangular { trace(queryParams?, headers?): ng.IPromise; options(queryParams?, headers?): ng.IPromise; patch(queryParams?, headers?): ng.IPromise; + withHttpConfig(httpConfig: RestangularRequestConfig): RestangularElement; getRestangularUrl(): string; } @@ -38,6 +52,7 @@ interface RestangularCollection extends Restangular { options(queryParams?, headers?): ng.IPromise; patch(queryParams?, headers?): ng.IPromise; putElement(idx, params, headers): ng.IPromise; + withHttpConfig(httpConfig: RestangularRequestConfig): RestangularCollection; getRestangularUrl(): string; }