Context class final

Context defines which contexts an API requests.

Example:

context:
  rules:
  - selector: "*"
    requested:
    - google.rpc.context.ProjectContext
    - google.rpc.context.OriginContext

The above specifies that all methods in the API request google.rpc.context.ProjectContext and google.rpc.context.OriginContext.

Available context types are defined in package google.rpc.context.

This also provides mechanism to allowlist any protobuf message extension that can be sent in grpc metadata using “x-goog-ext-<extension_id>-bin” and “x-goog-ext-<extension_id>-jspb” format. For example, list any service specific protobuf types that can appear in grpc metadata as follows in your yaml file:

Example:

context:
  rules:
   - selector: "google.example.library.v1.LibraryService.CreateBook"
     allowed_request_extensions:
     - google.foo.v1.NewExtension
     allowed_response_extensions:
     - google.foo.v1.NewExtension

You can also specify extension ID instead of fully qualified extension name here.

Inheritance

Constructors

Context({List<ContextRule> rules = const []})
Context.fromJson(Object? j)
factory

Properties

hashCode int
The hash code for this object.
no setterinherited
qualifiedName String
The fully qualified name of this message, i.e., google.protobuf.Duration or google.rpc.ErrorInfo.
finalinherited
rules List<ContextRule>
A list of RPC context rules that apply to individual API methods.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Object
override
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

fullyQualifiedName → const String