Class Context (2.2.0)

public sealed class Context : Protobuf.IMessage<Context>, Protobuf.IBufferMessage

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 whitelist 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
NameDescription
otherContext

Fields

RulesFieldNumber

public const int RulesFieldNumber = 1

Field number for the "rules" field.

Field Value
TypeDescription
Int32

Properties

Descriptor

public static Protobuf.Reflection.MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
Protobuf.Reflection.MessageDescriptor

Parser

public static Protobuf.MessageParser<Context> Parser { get; }
Property Value
TypeDescription
Protobuf.MessageParser<Context>

Rules

public Protobuf.Collections.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
TypeDescription
Protobuf.Collections.RepeatedField<ContextRule>

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
Int32

Clone()

public Context Clone()
Returns
TypeDescription
Context

Equals(Context)

public bool Equals(Context other)
Parameter
NameDescription
otherContext
Returns
TypeDescription
Boolean

Equals(Object)

public override bool Equals(object other)
Parameter
NameDescription
otherObject
Returns
TypeDescription
Boolean

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
Int32

MergeFrom(Context)

public void MergeFrom(Context other)
Parameter
NameDescription
otherContext

MergeFrom(Protobuf.CodedInputStream)

public void MergeFrom(Protobuf.CodedInputStream input)
Parameter
NameDescription
inputProtobuf.CodedInputStream

ToString()

public override string ToString()
Returns
TypeDescription
String

WriteTo(Protobuf.CodedOutputStream)

public void WriteTo(Protobuf.CodedOutputStream output)
Parameter
NameDescription
outputProtobuf.CodedOutputStream