Modified the http module to remove the cyclic references. Added promises.d.ts.

This commit is contained in:
atanasovg
2014-05-21 16:27:13 +03:00
parent 1dd3a5f9b5
commit db987a361d
19 changed files with 169 additions and 37 deletions

View File

@ -1,11 +1,10 @@
/**
* Android specific http request implementation.
*/
import promises = require("promises/promises");
import http = require("http");
import promises = require("promises");
declare var exports;
require("utils/module-merge").merge(require("http/http-common"), exports);
// this is imported for definition purposes only
import http = require("http");
export function request(options: http.HttpRequestOptions): promises.Promise<http.HttpResponse> {
var d = promises.defer<http.HttpResponse>();

5
http/http-request.d.ts vendored Normal file
View File

@ -0,0 +1,5 @@
//@private
import promises = require("promises");
import http = require("http");
export declare var request: (options: http.HttpRequestOptions) => promises.Promise<http.HttpResponse>;

View File

@ -1,12 +1,9 @@
/**
* iOS specific http request implementation.
*/
import promises = require("promises/promises");
import promises = require("promises");
import http = require("http");
declare var exports;
require("utils/module-merge").merge(require("http/http-common"), exports);
export function request(options: http.HttpRequestOptions): promises.Promise<http.HttpResponse> {
var d = promises.defer<http.HttpResponse>();

2
http/http.d.ts vendored
View File

@ -1,7 +1,7 @@

declare module "http" {
import image = require("image-source");
import promises = require("promises/promises");
import promises = require("promises");
function getString(url: string): promises.Promise<string>
function getString(options: HttpRequestOptions): promises.Promise<string>

View File

@ -1,15 +1,18 @@
import image = require("image-source");
import promises = require("promises/promises");
import http = require("http");
import promises = require("promises");
import request = require("http/http-request");
// merge the exports of the request file with the exports of this file
declare var exports;
require("utils/module-merge").merge(request, exports);
/**
* Gets string from url.
*/
* Gets string from url.
*/
export function getString(arg: any): promises.Promise<string> {
var d = promises.defer<string>();
http.request(typeof arg === "string" ? { url: arg, method: "GET" } : arg)
request.request(typeof arg === "string" ? { url: arg, method: "GET" } : arg)
.then(r => d.resolve(r.content.toString()))
.fail(e => d.reject(e));
@ -22,7 +25,7 @@ export function getString(arg: any): promises.Promise<string> {
export function getJSON<T>(arg: any): promises.Promise<T> {
var d = promises.defer<T>();
http.request(typeof arg === "string" ? { url: arg, method: "GET" } : arg)
request.request(typeof arg === "string" ? { url: arg, method: "GET" } : arg)
.then(r => d.resolve(r.content.toJSON()))
.fail(e => d.reject(e));
@ -36,7 +39,7 @@ export function getJSON<T>(arg: any): promises.Promise<T> {
export function getImage(arg: any): promises.Promise<image.ImageSource> {
var d = promises.defer<image.ImageSource>();
http.request(typeof arg === "string" ? { url: arg, method: "GET" } : arg)
request.request(typeof arg === "string" ? { url: arg, method: "GET" } : arg)
.then(r => d.resolve(r.content.toImage()))
.fail(e => d.reject(e));