mongodb-stitch
Version:
[](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
82 lines • 3.42 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var HttpMethod_1 = require("../HttpMethod");
var ResultDecoders_1 = __importDefault(require("./ResultDecoders"));
var RequestAction;
(function (RequestAction) {
RequestAction["GetAction"] = "get";
RequestAction["PostAction"] = "post";
RequestAction["PutAction"] = "put";
RequestAction["DeleteAction"] = "delete";
RequestAction["HeadAction"] = "head";
RequestAction["PatchAction"] = "patch";
RequestAction["HttpUrlParam"] = "url";
RequestAction["HttpAuthUrlParam"] = "authUrl";
RequestAction["HttpHeadersUrlParam"] = "headers";
RequestAction["HttpCookiesParam"] = "cookies";
RequestAction["HttpBodyParam"] = "body";
RequestAction["HttpEncodeBodyAsJsonParam"] = "encodeBodyAsJSON";
RequestAction["HttpFormParam"] = "form";
RequestAction["HttpFollowRedirectsParam"] = "followRedirects";
})(RequestAction || (RequestAction = {}));
var CoreHttpServiceClient = (function () {
function CoreHttpServiceClient(service) {
this.service = service;
this.service = service;
}
CoreHttpServiceClient.prototype.execute = function (request) {
var action;
switch (request.method) {
case HttpMethod_1.HttpMethod.GET:
action = RequestAction.GetAction;
break;
case HttpMethod_1.HttpMethod.POST:
action = RequestAction.PostAction;
break;
case HttpMethod_1.HttpMethod.PUT:
action = RequestAction.PutAction;
break;
case HttpMethod_1.HttpMethod.DELETE:
action = RequestAction.DeleteAction;
break;
case HttpMethod_1.HttpMethod.HEAD:
action = RequestAction.HeadAction;
break;
case HttpMethod_1.HttpMethod.PATCH:
action = RequestAction.PatchAction;
break;
default:
throw new Error("unknown method " + request.method);
}
var args = {};
args[RequestAction.HttpUrlParam] = request.url;
if (request.authUrl !== undefined) {
args[RequestAction.HttpAuthUrlParam] = request.authUrl;
}
if (request.headers !== undefined) {
args[RequestAction.HttpHeadersUrlParam] = request.headers;
}
if (request.cookies !== undefined) {
args[RequestAction.HttpCookiesParam] = request.cookies;
}
if (request.body !== undefined) {
args[RequestAction.HttpBodyParam] = request.body;
}
if (request.encodeBodyAsJson !== undefined) {
args[RequestAction.HttpEncodeBodyAsJsonParam] = request.encodeBodyAsJson;
}
if (request.form !== undefined) {
args[RequestAction.HttpFormParam] = request.form;
}
if (request.followRedirects !== undefined) {
args[RequestAction.HttpFollowRedirectsParam] = request.followRedirects;
}
return this.service.callFunction(action, [args], ResultDecoders_1.default.HttpResponseDecoder);
};
return CoreHttpServiceClient;
}());
exports.default = CoreHttpServiceClient;
//# sourceMappingURL=CoreHttpServiceClient.js.map