Class Context (2.15.0)

public sealed class Context : IMessage<Context>, IEquatable<Context>, IDeepCloneable<Context>, IBufferMessage, IMessage

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

object > Context

Namespace

Google.Api

Assembly

Google.Api.CommonProtos.dll

Constructors

Context()

public Context()

Context(Context)

public Context(Context other)
Parameter
Name Description
other Context

Fields

RulesFieldNumber

public const int RulesFieldNumber = 1

Field number for the "rules" field.

Field Value
Type Description
int

Properties

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
MessageDescriptor

Parser

public static MessageParser<Context> Parser { get; }
Property Value
Type Description
MessageParserContext

Rules

public RepeatedField<ContextRule> Rules { get; }

A list of RPC context rules that apply to individual API methods.

NOTE: All service configuration rules follow "last one wins" order.

Property Value
Type Description
RepeatedFieldContextRule

Methods

CalculateSize()

public int CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

Returns
Type Description
int

The number of bytes required to write this message to a coded output stream.

Clone()

public Context Clone()

Creates a deep clone of this object.

Returns
Type Description
Context

A deep clone of this object.

Equals(Context)

public bool Equals(Context other)
Parameter
Name Description
other Context
Returns
Type Description
bool

Equals(object)

public override bool Equals(object other)
Parameter
Name Description
other object
Returns
Type Description
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
Type Description
int
Overrides

MergeFrom(Context)

public void MergeFrom(Context other)

Merges the given message into this one.

Parameter
Name Description
other Context
Remarks

See the user guide for precise merge semantics.

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)

Merges the data from the specified coded input stream with the current message.

Parameter
Name Description
input CodedInputStream
Remarks

See the user guide for precise merge semantics.

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)

Writes the data to the given coded output stream.

Parameter
Name Description
output CodedOutputStream

Coded output stream to write the data to. Must not be null.