UNPKG

mongodb-stitch

Version:

[![Join the chat at https://gitter.im/mongodb/stitch](https://badges.gitter.im/mongodb/stitch.svg)](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

51 lines 2.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var Base64_1 = require("../../internal/common/Base64"); var Method_1 = __importDefault(require("../../internal/net/Method")); var StitchAuthDocRequest_1 = require("../../internal/net/StitchAuthDocRequest"); var StitchAuthRequest_1 = require("../../internal/net/StitchAuthRequest"); var CoreStitchServiceClientImpl = (function () { function CoreStitchServiceClientImpl(requestClient, routes, name) { this.requestClient = requestClient; this.serviceRoutes = routes; this.serviceName = name; } CoreStitchServiceClientImpl.prototype.callFunction = function (name, args, decoder) { return this.requestClient.doAuthenticatedRequestWithDecoder(this.getCallServiceFunctionRequest(name, args), decoder); }; CoreStitchServiceClientImpl.prototype.streamFunction = function (name, args, decoder) { return this.requestClient.openAuthenticatedStreamWithDecoder(this.getStreamServiceFunctionRequest(name, args), decoder); }; CoreStitchServiceClientImpl.prototype.getStreamServiceFunctionRequest = function (name, args) { var body = { name: name }; if (this.serviceName !== undefined) { body["service"] = this.serviceName; } body["arguments"] = args; var reqBuilder = new StitchAuthRequest_1.StitchAuthRequest.Builder(); reqBuilder .withMethod(Method_1.default.GET) .withPath(this.serviceRoutes.functionCallRoute + ("?stitch_request=" + encodeURIComponent(Base64_1.base64Encode(JSON.stringify(body))))); return reqBuilder.build(); }; CoreStitchServiceClientImpl.prototype.getCallServiceFunctionRequest = function (name, args) { var body = { name: name }; if (this.serviceName !== undefined) { body["service"] = this.serviceName; } body["arguments"] = args; var reqBuilder = new StitchAuthDocRequest_1.StitchAuthDocRequest.Builder(); reqBuilder .withMethod(Method_1.default.POST) .withPath(this.serviceRoutes.functionCallRoute); reqBuilder.withDocument(body); return reqBuilder.build(); }; return CoreStitchServiceClientImpl; }()); exports.default = CoreStitchServiceClientImpl; //# sourceMappingURL=CoreStitchServiceClientImpl.js.map