mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-19 06:10:56 +08:00
readme update + fixes
This commit is contained in:
@ -2,6 +2,67 @@
|
||||
```js
|
||||
var http = require("net");
|
||||
|
||||
// Universal request method. You can use HttpRequestOptions to set varios properties, HttpHeader to get/set desired headers, HttpResponse to get status code, headers and content and
|
||||
// HttpContent to get/set body for request/response:
|
||||
|
||||
interface HttpRequestOptions {
|
||||
url: string;
|
||||
method: string;
|
||||
headers?: HttpHeader[];
|
||||
content?: HttpContent;
|
||||
}
|
||||
|
||||
interface HttpHeader {
|
||||
name: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
interface HttpResponse {
|
||||
statusCode: number;
|
||||
headers: HttpHeader[];
|
||||
content?: HttpContent;
|
||||
}
|
||||
|
||||
interface HttpContent {
|
||||
toString: () => string;
|
||||
toJSON: () => any;
|
||||
toImage: () => image_module.Image;
|
||||
}
|
||||
|
||||
// Get request
|
||||
http.request({
|
||||
url: "http://ip.jsontest.com/",
|
||||
method: "GET",
|
||||
headers: [{ name: "Content-Type", value: "application/json" }]
|
||||
}).then(function (r) {
|
||||
var status = r.statusCode;
|
||||
|
||||
for (var i = 0, l = r.headers.length; i < l; i++) {
|
||||
var header = r.headers[i];
|
||||
}
|
||||
|
||||
var result = r.content.toJSON();
|
||||
|
||||
}).fail(function (e) { });
|
||||
|
||||
// Post request
|
||||
http.request({
|
||||
url: "http://posttestserver.com/post.php?dump&html&dir=test",
|
||||
method: "POST",
|
||||
headers: [{ name: "Content-Type", value: "application/x-www-form-urlencoded" }],
|
||||
content: "MyVariableOne=ValueOne&MyVariableTwo=ValueTwo"
|
||||
}).then(function (r) {
|
||||
log("Status code:" + r.statusCode);
|
||||
|
||||
for (var i = 0, l = r.headers.length; i < l; i++) {
|
||||
var header = r.headers[i];
|
||||
log(header.name + ":" + header.value);
|
||||
}
|
||||
|
||||
log("Content:" + r.content.toString())
|
||||
|
||||
}).fail(function (e) { log(e) });
|
||||
|
||||
http.getString("http://www.reddit.com/").then(function(result) {
|
||||
// Result is string!
|
||||
}).fail(function(e) { console.log("Error:" + e.message); });
|
||||
@ -14,16 +75,4 @@
|
||||
// Result is tk.ui.Image!
|
||||
}).fail(function(e) { console.log("Error:" + e.message); });
|
||||
|
||||
http.request({ url: "http://www.reddit.com/r/aww.json?limit=10", method: "GET" }).then(function(r) {
|
||||
console.log("Status code:" + r.statusCode);
|
||||
|
||||
for (var i = 0, l = r.headers.length; i < l; i++) {
|
||||
var header = r.headers[i];
|
||||
console.log(header.name + ":" + header.value);
|
||||
}
|
||||
|
||||
console.log("Content:" + r.content.toString()); // You can use also toJSON() and toImage() to convert the content.
|
||||
|
||||
}).fail(function(e) { console.log("Error:" + e.message); });
|
||||
|
||||
```
|
2
net/http_request.d.ts
vendored
2
net/http_request.d.ts
vendored
@ -10,7 +10,7 @@ export interface HttpRequestOptions {
|
||||
url: string;
|
||||
method: string;
|
||||
headers?: HttpHeader[];
|
||||
content?: HttpContent;
|
||||
content?: any;
|
||||
}
|
||||
|
||||
export interface HttpHeader {
|
||||
|
@ -27,8 +27,9 @@ export function request(options: http.HttpRequestOptions): promises.Promise<http
|
||||
}
|
||||
}
|
||||
|
||||
var content = options.content ? options.content.toString() : "";
|
||||
urlRequest.setHTTPBody(Foundation.NSString.initWithString(content).dataUsingEncoding(4));
|
||||
if (typeof options.content == "string") {
|
||||
urlRequest.setHTTPBody(Foundation.NSString.initWithString(options.content).dataUsingEncoding(4));
|
||||
}
|
||||
|
||||
var dataTask = session.dataTaskWithRequestCompletionHandler(urlRequest,
|
||||
function (data, response, error) {
|
||||
@ -52,7 +53,7 @@ export function request(options: http.HttpRequestOptions): promises.Promise<http
|
||||
toJSON: () => { return JSON.parse(NSDataToString(data)); },
|
||||
toImage: () => { return image.Image.imageFromData(data); }
|
||||
},
|
||||
statusCode: response.statusCode,
|
||||
statusCode: response.statusCode(),
|
||||
headers: headers
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user