nativescript-code-push
Version:
Use CodePush to hot deploy updates to your app.
52 lines (51 loc) • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var http_1 = require("tns-core-modules/http");
var packageJson = require("./package.json");
var TNSRequester = /** @class */ (function () {
function TNSRequester() {
}
TNSRequester.prototype.request = function (verb, url, requestBody, callback) {
if (typeof requestBody === "function") {
callback = requestBody;
requestBody = null;
}
if (requestBody && typeof requestBody === "object") {
requestBody = JSON.stringify(requestBody);
}
http_1.request({
method: TNSRequester.getHttpMethodName(verb),
url: url,
content: requestBody,
headers: {
"Accept": "application/json",
"Content-Type": "application/json",
"X-CodePush-Plugin-Name": packageJson.name,
"X-CodePush-Plugin-Version": packageJson.version,
"X-CodePush-SDK-Version": packageJson.dependencies["nativescript-code-push-cli"]
}
}).then(function (response) {
callback(null, {
statusCode: response.statusCode,
body: response.content ? response.content.toString() : null
});
});
};
TNSRequester.getHttpMethodName = function (verb) {
// This should stay in sync with the enum at
// https://github.com/Microsoft/code-push/blob/master/sdk/script/acquisition-sdk.ts#L6
return [
"GET",
"HEAD",
"POST",
"PUT",
"DELETE",
"TRACE",
"OPTIONS",
"CONNECT",
"PATCH"
][verb];
};
return TNSRequester;
}());
exports.TNSRequester = TNSRequester;