diff --git a/rest/rest-tests.ts b/rest/rest-tests.ts index 26346389fc..6d267c7926 100644 --- a/rest/rest-tests.ts +++ b/rest/rest-tests.ts @@ -135,3 +135,17 @@ client = rest .wrap(fail) .wrap(knownConfig, { prop: 'value' }) .wrap(transformedConfig, { prop: 'value' }); + +import xhrClient = require('rest/client/xhr'); +import nodeClient = require('rest/client/node'); +import jsonpClient = require('rest/client/jsonp'); +import xdrClient = require('rest/client/xdr'); + +rest.setDefaultClient(xhrClient); +rest.setDefaultClient(nodeClient); +rest.setDefaultClient(jsonpClient); +rest.setDefaultClient(xdrClient); + +var defaultClient: rest.Client = rest.getDefaultClient(); + +rest.resetDefaultClient(); diff --git a/rest/rest.d.ts b/rest/rest.d.ts index 37041e1500..a96e0822ac 100644 --- a/rest/rest.d.ts +++ b/rest/rest.d.ts @@ -14,6 +14,10 @@ declare module "rest" { function rest(request: rest.Request): rest.ResponsePromise; module rest { + export function setDefaultClient(client: Client): void; + export function getDefaultClient(): Client; + export function resetDefaultClient(): void; + export function wrap(interceptor: Interceptor, config?: T): Client; export interface Request { @@ -319,3 +323,27 @@ declare module "rest/mime/registry" { export = registry; } + +declare module "rest/client/xhr" { + import rest = require("rest"); + var xhr: rest.Client; + export = xhr; +} + +declare module "rest/client/node" { + import rest = require("rest"); + var node: rest.Client; + export = node; +} + +declare module "rest/client/jsonp" { + import rest = require("rest"); + var jsonp: rest.Client; + export = jsonp; +} + +declare module "rest/client/xdr" { + import rest = require("rest"); + var xdr: rest.Client; + export = xdr; +}