public static GraphQLException VariableValueInvalidType( VariableDefinitionNode variableDefinition, Exception?exception = null) { IErrorBuilder errorBuilder = ErrorBuilder.New() .SetMessage( "Variable `{0}` got an invalid value.", variableDefinition.Variable.Name.Value) .SetCode(ErrorCodes.Execution.InvalidType) .SetExtension("variable", variableDefinition.Variable.Name.Value) .AddLocation(variableDefinition); switch (exception) { case ScalarSerializationException ex: errorBuilder.SetExtension("scalarError", ex.Message); break; case InputObjectSerializationException ex: errorBuilder.SetExtension("inputObjectError", ex.Message); break; default: errorBuilder.SetException(exception); break; } return(new GraphQLException(errorBuilder.Build())); }
public static GraphQLException VariableValueInvalidType( VariableDefinitionNode variableDefinition, Exception?exception = null) { var underlyingError = exception is SerializationException serializationException ? serializationException.Message : null; IErrorBuilder errorBuilder = ErrorBuilder.New() .SetMessage( ThrowHelper_VariableValueInvalidType_Message, variableDefinition.Variable.Name.Value) .SetCode(ErrorCodes.Execution.InvalidType) .SetExtension("variable", variableDefinition.Variable.Name.Value) .AddLocation(variableDefinition); if (exception is not null) { errorBuilder.SetException(exception); } if (underlyingError is not null) { errorBuilder.SetExtension(nameof(underlyingError), underlyingError); } return(new GraphQLException(errorBuilder.Build())); }
public static void Extended(IErrorBuilder errorBuilder, ErrorMappingContext mappingContext) { errorBuilder .SetExtension(ExtensionKeys.AttemptedValueKey, mappingContext.ValidationFailure.AttemptedValue) .SetExtension(ExtensionKeys.CustomStateKey, mappingContext.ValidationFailure.CustomState) .SetExtension( ExtensionKeys.FormattedMessagePlaceholderValuesKey, mappingContext.ValidationFailure.FormattedMessagePlaceholderValues); }
public static void Details(IErrorBuilder errorBuilder, ErrorMappingContext mappingContext) { errorBuilder .SetExtension(ExtensionKeys.ValidatorKey, mappingContext.ValidationFailure.ErrorCode) .SetExtension(ExtensionKeys.FieldKey, mappingContext.MiddlewareContext.Field.Name) .SetExtension(ExtensionKeys.ArgumentKey, mappingContext.Argument.Name) .SetExtension(ExtensionKeys.PropertyKey, mappingContext.ValidationFailure.PropertyName) .SetExtension(ExtensionKeys.SeverityKey, mappingContext.ValidationFailure.Severity); }
public static IErrorBuilder SetFragmentName( this IErrorBuilder errorBuilder, ISyntaxNode node) { if (node.Kind == SyntaxKind.FragmentDefinition) { errorBuilder.SetExtension("fragment", ((FragmentDefinitionNode)node).Name.Value); } return(errorBuilder); }
private IErrorBuilder CreateErrorFromException(Exception exception) { IErrorBuilder builder = ErrorBuilder.New() .SetMessage("Unexpected Execution Error") .SetException(exception); if (_includeExceptionDetails) { builder .SetExtension("message", exception.Message) .SetExtension("stackTrace", exception.StackTrace); } return(builder); }
private IErrorBuilder CreateErrorFromException(Exception exception) { IErrorBuilder builder = ErrorBuilder.New() .SetMessage(CoreResources.ErrorHandler_UnexpectedError) .SetException(exception); if (_includeExceptionDetails) { builder .SetExtension(_messageProperty, exception.Message) .SetExtension(_stackTraceProperty, exception.StackTrace); } return(builder); }
public static IErrorBuilder SpecifiedBy( this IErrorBuilder errorBuilder, string section) => errorBuilder.SetExtension( "specifiedBy", "http://spec.graphql.org/June2018/#" + section);
/// <summary> /// Add problem details to the error /// </summary> /// <param name="error"></param> /// <param name="data"></param> /// <returns></returns> public static IErrorBuilder WithProblemDetails(this IErrorBuilder error, IProblemDetailsData data) { error.SetExtension("type", "ProblemDetails"); if (data.Title is { })