blob: 5f907917d041e85c7039ed038a4eb014ecab13d5 [file] [log] [blame]
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// ignore_for_file: constant_identifier_names
import 'src/exception.dart';
/// Error codes defined in the [JSON-RPC 2.0 specification][spec].
///
/// These codes are generally used for protocol-level communication. Most of
/// them shouldn't be used by the application. Those that should have
/// convenience constructors in [RpcException].
///
/// [spec]: http://www.jsonrpc.org/specification#error_object
/// An error code indicating that invalid JSON was received by the server.
const PARSE_ERROR = -32700;
/// An error code indicating that the request JSON was invalid according to the
/// JSON-RPC 2.0 spec.
const INVALID_REQUEST = -32600;
/// An error code indicating that the requested method does not exist or is
/// unavailable.
const METHOD_NOT_FOUND = -32601;
/// An error code indicating that the request parameters are invalid for the
/// requested method.
const INVALID_PARAMS = -32602;
/// An internal JSON-RPC error.
const INTERNAL_ERROR = -32603;
/// An unexpected error occurred on the server.
///
/// The spec reserves the range from -32000 to -32099 for implementation-defined
/// server exceptions, but for now we only use one of those values.
const SERVER_ERROR = -32000;
/// Returns a human-readable name for [errorCode] if it's one specified by the
/// JSON-RPC 2.0 spec.
///
/// If [errorCode] isn't defined in the JSON-RPC 2.0 spec, returns `null`.
String? name(int errorCode) => switch (errorCode) {
PARSE_ERROR => 'parse error',
INVALID_REQUEST => 'invalid request',
METHOD_NOT_FOUND => 'method not found',
INVALID_PARAMS => 'invalid parameters',
INTERNAL_ERROR => 'internal error',
_ => null
};