UNPKG

jupyterlab-slurm

Version:

A JupyterLab extension to interface with the Slurm workload manager.

55 lines 2.64 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeRequest = void 0; const services_1 = require("@jupyterlab/services"); const coreutils_1 = require("@jupyterlab/coreutils"); function makeRequest(request) { return __awaiter(this, void 0, void 0, function* () { const { route, method, query, body, beforeResponse, afterResponse } = request; const settings = services_1.ServerConnection.makeSettings(); // Prepend command with the base URL to yield the final endpoint const endpoint = coreutils_1.URLExt.join(settings.baseUrl, query ? `${route}${query}` : route); const requestInit = { method, headers: { // Add Jupyter authorization (XRSF) token to request header 'Authorization': 'token ' + coreutils_1.PageConfig.getToken(), // Prevent it from enconding as plain-text UTF-8 'Content-Type': 'application/x-www-form-urlencoded' }, }; if (body) { if (typeof (body) == "string") { requestInit.headers['Content-Type'] = 'application/x-www-form-urlencoded'; } else if (body instanceof URLSearchParams) { requestInit.headers['Content-Type'] = 'application/x-www-form-urlencoded'; } requestInit.body = body; } try { const args = beforeResponse ? beforeResponse() : undefined; const response = yield services_1.ServerConnection.makeRequest(endpoint, requestInit, settings); if (afterResponse) { if (args) return afterResponse(response, ...args); else return afterResponse(response); } } catch (error) { console.log(error); } }); } exports.makeRequest = makeRequest; //# sourceMappingURL=utils.js.map