UNPKG

@datalayer/core

Version:
40 lines (39 loc) 1.25 kB
/* * Copyright (c) 2023-2025 Datalayer, Inc. * Distributed under the terms of the Modified BSD License. */ import { URLExt } from '@jupyterlab/coreutils'; import { ServerConnection } from '@jupyterlab/services'; /** * Call the jupyter_kernels extension * * @param endPoint API REST end point for the extension * @param init Initial values for the request * @returns The response body interpreted as JSON */ export async function requestJupyterKernelsExtension(endPoint = '', init = {}) { // Make request to Jupyter API const settings = ServerConnection.makeSettings(); const requestUrl = URLExt.join(settings.baseUrl, 'jupyter_kernels', // API Namespace endPoint); let response; try { response = await ServerConnection.makeRequest(requestUrl, init, settings); } catch (error) { throw new ServerConnection.NetworkError(error); } let data = await response.text(); if (data.length > 0) { try { data = JSON.parse(data); } catch (error) { console.log('Not a JSON response body.', response); } } if (!response.ok) { throw new ServerConnection.ResponseError(response, data.message || data); } return data; }