mongodb-stitch
Version:
[](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
50 lines • 2.31 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "./Response", "../../StitchClientError", "../../StitchClientErrorCode", "fetch-everywhere"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Response_1 = __importDefault(require("./Response"));
var StitchClientError_1 = __importDefault(require("../../StitchClientError"));
var StitchClientErrorCode_1 = require("../../StitchClientErrorCode");
var fetch_everywhere_1 = __importDefault(require("fetch-everywhere"));
var FetchTransport = (function () {
function FetchTransport() {
}
FetchTransport.prototype.roundTrip = function (request) {
var responsePromise = fetch_everywhere_1.default(request.url, {
body: request.body,
headers: request.headers,
method: request.method,
mode: 'cors'
});
var responseTextPromise = responsePromise.then(function (response) {
return response.text();
});
return Promise.all([responsePromise, responseTextPromise]).then(function (values) {
var response = values[0];
var body = values[1];
var headers = {};
response.headers.forEach(function (value, key) {
headers[key] = value;
});
return new Response_1.default(headers, response.status, body);
});
};
FetchTransport.prototype.stream = function (request, open, retryRequest) {
if (open === void 0) { open = true; }
throw new StitchClientError_1.default(StitchClientErrorCode_1.StitchClientErrorCode.StreamingNotSupported);
};
return FetchTransport;
}());
exports.default = FetchTransport;
});
//# sourceMappingURL=FetchTransport.js.map