public sealed class Context : IMessage<Context>, IEquatable<Context>, IDeepCloneable<Context>, IBufferMessage, IMessageContext 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.
Namespace
Google.ApiAssembly
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 = 1Field 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 |
|
GetHashCode()
public override int GetHashCode()| Returns | |
|---|---|
| Type | Description |
int |
|
MergeFrom(Context)
public void MergeFrom(Context other)Merges the given message into this one.
| Parameter | |
|---|---|
| Name | Description |
other |
Context |
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 |
See the user guide for precise merge semantics.
ToString()
public override string ToString()| Returns | |
|---|---|
| Type | Description |
string |
|
WriteTo(CodedOutputStream)
public void WriteTo(CodedOutputStream output)Writes the data to the given coded output stream.
| Parameter | |
|---|---|
| Name | Description |
output |
CodedOutputStreamCoded output stream to write the data to. Must not be null. |