We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/IAcademico/Weather-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
errorContext.ts•1.23 kB
import { config } from '../config';
let context: { errorThrown: boolean; error: any } | null = null;
/**
* Handles dealing with errors for super-gross mode. Creates a context, in which
* any synchronously thrown errors will be passed to {@link captureError}. Which
* will record the error such that it will be rethrown after the call back is complete.
* TODO: Remove in v8
* @param cb An immediately executed function.
*/
export function errorContext(cb: () => void) {
if (config.useDeprecatedSynchronousErrorHandling) {
const isRoot = !context;
if (isRoot) {
context = { errorThrown: false, error: null };
}
cb();
if (isRoot) {
const { errorThrown, error } = context!;
context = null;
if (errorThrown) {
throw error;
}
}
} else {
// This is the general non-deprecated path for everyone that
// isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)
cb();
}
}
/**
* Captures errors only in super-gross mode.
* @param err the error to capture
*/
export function captureError(err: any) {
if (config.useDeprecatedSynchronousErrorHandling && context) {
context.errorThrown = true;
context.error = err;
}
}