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;
}