@apollo/server
Version:
Core engine for Apollo GraphQL server
81 lines • 3.12 kB
JavaScript
import { GraphQLError } from 'graphql';
import { ApolloServerErrorCode } from './errors/index.js';
import { newHTTPGraphQLHead } from './runHttpQuery.js';
import { HeaderMap } from './utils/HeaderMap.js';
class GraphQLErrorWithCode extends GraphQLError {
constructor(message, code, options) {
super(message, {
...options,
extensions: { ...options?.extensions, code },
});
this.name = this.constructor.name;
}
}
export class SyntaxError extends GraphQLErrorWithCode {
constructor(graphqlError) {
super(graphqlError.message, ApolloServerErrorCode.GRAPHQL_PARSE_FAILED, {
source: graphqlError.source,
positions: graphqlError.positions,
extensions: { http: newHTTPGraphQLHead(400), ...graphqlError.extensions },
originalError: graphqlError,
});
}
}
export class ValidationError extends GraphQLErrorWithCode {
constructor(graphqlError) {
super(graphqlError.message, ApolloServerErrorCode.GRAPHQL_VALIDATION_FAILED, {
nodes: graphqlError.nodes,
extensions: {
http: newHTTPGraphQLHead(400),
...graphqlError.extensions,
},
originalError: graphqlError.originalError ?? graphqlError,
});
}
}
const getPersistedQueryErrorHttp = () => ({
status: 200,
headers: new HeaderMap([
['cache-control', 'private, no-cache, must-revalidate'],
]),
});
export class PersistedQueryNotFoundError extends GraphQLErrorWithCode {
constructor() {
super('PersistedQueryNotFound', ApolloServerErrorCode.PERSISTED_QUERY_NOT_FOUND, { extensions: { http: getPersistedQueryErrorHttp() } });
}
}
export class PersistedQueryNotSupportedError extends GraphQLErrorWithCode {
constructor() {
super('PersistedQueryNotSupported', ApolloServerErrorCode.PERSISTED_QUERY_NOT_SUPPORTED, { extensions: { http: getPersistedQueryErrorHttp() } });
}
}
export class UserInputError extends GraphQLErrorWithCode {
constructor(graphqlError) {
super(graphqlError.message, ApolloServerErrorCode.BAD_USER_INPUT, {
nodes: graphqlError.nodes,
originalError: graphqlError.originalError ?? graphqlError,
extensions: graphqlError.extensions,
});
}
}
export class OperationResolutionError extends GraphQLErrorWithCode {
constructor(graphqlError) {
super(graphqlError.message, ApolloServerErrorCode.OPERATION_RESOLUTION_FAILURE, {
nodes: graphqlError.nodes,
originalError: graphqlError.originalError ?? graphqlError,
extensions: {
http: newHTTPGraphQLHead(400),
...graphqlError.extensions,
},
});
}
}
export class BadRequestError extends GraphQLErrorWithCode {
constructor(message, options) {
super(message, ApolloServerErrorCode.BAD_REQUEST, {
...options,
extensions: { http: newHTTPGraphQLHead(400), ...options?.extensions },
});
}
}
//# sourceMappingURL=internalErrorClasses.js.map