UNPKG

@notebook-intelligence/notebook-intelligence

Version:
37 lines (36 loc) 1.18 kB
// Copyright (c) Mehmet Bektas <mbektasgh@outlook.com> import { URLExt } from '@jupyterlab/coreutils'; import { ServerConnection } from '@jupyterlab/services'; /** * Call the API 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 requestAPI(endPoint = '', init = {}) { // Make request to Jupyter API const settings = ServerConnection.makeSettings(); const requestUrl = URLExt.join(settings.baseUrl, 'notebook-intelligence', // 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.error || data); } return data; }