UNPKG

@jupyterlab/git

Version:

A JupyterLab extension for version control using git

42 lines (41 loc) 1.77 kB
import { URLExt } from '@jupyterlab/coreutils'; import { ServerConnection } from '@jupyterlab/services'; import { Git } from './tokens'; import { requestAPI } from './git'; import { version } from './version'; /** * Obtain the server settings or provide meaningful error message for the end user * * @param trans Translation bundle * @param serverSettings Optional server connection settings * @returns The server settings * * @throws {ServerConnection.ResponseError} If the response was not ok * @throws {ServerConnection.NetworkError} If the request failed to reach the server */ export async function getServerSettings(trans, serverSettings) { try { const endpoint = 'settings' + URLExt.objectToQueryString({ version }); const settings = await requestAPI(endpoint, 'GET', null, 'git', serverSettings); return settings; } catch (error) { if (error instanceof Git.GitResponseError) { const response = error.response; if (response.status === 404) { const message = trans.__('Git server extension is unavailable. Please ensure you have installed the ' + 'JupyterLab Git server extension by running: pip install --upgrade jupyterlab-git. ' + 'To confirm that the server extension is installed, run: jupyter server extension list.'); throw new ServerConnection.ResponseError(response, message); } else { const message = error.message; console.error('Failed to get the server extension settings', message); throw new ServerConnection.ResponseError(response, message); } } else { throw error; } } }