This commit is contained in:
atanasovg
2014-03-17 16:09:13 +02:00
4 changed files with 33 additions and 29 deletions

View File

@ -1,25 +1,20 @@
Sample code:
```
var web_module = require("web_client");
var image_module = require("image");
var webClientModule = require("WebClient/web_client");
var webClient = webClientModule.tk.web.Client;
var client = new web_module.tk.web.Client();
client.downloadString("http://www.reddit.com/r/aww.json?limit=10",
function(result) {
Log("Result:" + result);
},
function(e) {
Log("Error:" + e.message);
});
```
var client = new webClient();
```
client.getString("http://www.reddit.com/", function(result) {
// Result is string!
}, function(e) { console.log("Error:" + e.message); });
client.getJSON("http://www.reddit.com/r/aww.json?limit=10", function(result) {
// Result is JSON!
}, function(e) { console.log("Error:" + e.message); });
client.getImage("http://www.telerik.com/sfimages/default-source/Homepage/hp_any_approachf6e4079a7a99493a8ab2e367b9cb3f7d.png", function(result) {
// Result is tk.ui.Image!
}, function(e) { console.log("Error:" + e.message); });
var client = new web_module.tk.web.Client();
client.downloadImage("http://www.telerik.com/sfimages/default-source/Homepage/hp_any_approachf6e4079a7a99493a8ab2e367b9cb3f7d.png",
function(image){ // This is image_module.tk.ui.Image
},
function(e) {
Log("Error:" + e.message);
});
```

View File

@ -9,7 +9,7 @@ export module tk {
/**
* Downloads string from url.
*/
public downloadString(url: string, successCallback: (result: string) => void, errorCallback?: (e: Error) => void) {
public getString(url: string, successCallback: (result: string) => void, errorCallback?: (e: Error) => void) {
try {
if (successCallback) {
var httpClient = new org.apache.http.impl.client.DefaultHttpClient();
@ -28,7 +28,7 @@ export module tk {
}
}
public downloadImage(url: string, successCallback: (image: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void) {
public getImage(url: string, successCallback: (result: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void) {
try {
if (successCallback) {
var image = new image_module.tk.ui.Image();

View File

@ -8,8 +8,10 @@ export declare module tk {
* The Client interface.
*/
export class Client {
downloadString(url: string, successCallback: (result: string) => void, errorCallback?: (e: Error) => void)
downloadImage(url: string, successCallback: (image: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void)
static get(url: string, successCallback: (result: any) => void, errorCallback?: (e: Error) => void)
getString(url: string, successCallback: (result: string) => void, errorCallback?: (e: Error) => void)
getJSON(url: string, successCallback: (result: Object) => void, errorCallback?: (e: Error) => void)
getImage(url: string, successCallback: (result: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void)
}
}
}

View File

@ -9,16 +9,24 @@ export module tk {
/**
* Downloads string from url.
*/
public downloadString(url: string, successCallback: (result: string) => void, errorCallback?: (e: Error) => void) {
Client.getDataFromUrl(url, function (data) {
public getString(url: string, successCallback: (result: string) => void, errorCallback?: (e: Error) => void) {
Client.get(url, function (data) {
if (successCallback) {
successCallback(Foundation.NSString.initWithDataEncoding(data, 4));
}
}, errorCallback);
}
public downloadImage(url: string, successCallback: (image: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void) {
Client.getDataFromUrl(url, function (data) {
public getJSON(url: string, successCallback: (result: Object) => void, errorCallback?: (e: Error) => void) {
this.getString(url, function (data) {
if (successCallback) {
successCallback(JSON.parse(data));
}
}, errorCallback);
}
public getImage(url: string, successCallback: (result: image_module.tk.ui.Image) => void, errorCallback?: (e: Error) => void) {
Client.get(url, function (data) {
if (successCallback) {
var image = new image_module.tk.ui.Image();
image.loadFromData(data);
@ -27,8 +35,7 @@ export module tk {
}, errorCallback);
}
private static getDataFromUrl(url: string, successCallback: (result: any) => void, errorCallback?: (e: Error) => void)
{
public static get(url: string, successCallback: (result: any) => void, errorCallback?: (e: Error) => void) {
try {
var sessionConfig = Foundation.NSURLSessionConfiguration.defaultSessionConfiguration();
var queue = Foundation.NSOperationQueue.mainQueue();