Struct tonic_types::pb::ErrorInfo

source ·
pub struct ErrorInfo {
    pub reason: String,
    pub domain: String,
    pub metadata: HashMap<String, String>,
}
Expand description

Describes the cause of the error with structured details.

Example of an error when contacting the “pubsub.googleapis.com” API when it is not enabled:

    { "reason": "API_DISABLED"
      "domain": "googleapis.com"
      "metadata": {
        "resource": "projects/123",
        "service": "pubsub.googleapis.com"
      }
    }

This response indicates that the pubsub.googleapis.com API is not enabled.

Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock:

    { "reason": "STOCKOUT"
      "domain": "spanner.googleapis.com",
      "metadata": {
        "availableRegions": "us-central1,us-east2"
      }
    }

Fields§

§reason: String

The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match /\[A-Z0-9_\]+/.

§domain: String

The logical grouping to which the “reason” belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: “pubsub.googleapis.com”. If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is “googleapis.com”.

§metadata: HashMap<String, String>

Additional structured details about this error.

Keys should match /\[a-zA-Z0-9-_\]/ and be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {“instanceLimit”: “100/request”}, should be returned as, {“instanceLimitPerRequest”: “100”}, if the client exceeds the number of instances that can be created in a single (batch) request.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Returns the encoded length of the message without a length delimiter.
Clears the message, resetting all fields to their default.
Encodes the message to a buffer. Read more
Encodes the message to a newly allocated buffer.
Encodes the message with a length-delimiter to a buffer. Read more
Encodes the message with a length-delimiter to a newly allocated buffer.
Decodes an instance of the message from a buffer. Read more
Decodes a length-delimited instance of the message from the buffer.
Decodes an instance of the message from a buffer, and merges it into self. Read more
Decodes a length-delimited instance of the message from buffer, and merges it into self. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Converts to this type from a reference to the input type.
Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Wrap the input message T in a tonic::Request
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more