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.
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 = 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 |
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 |
CodedOutputStream Coded output stream to write the data to. Must not be null. |