Class AttributeContext.Types.Request (2.10.0)

public sealed class AttributeContext.Types.Request : IMessage<AttributeContext.Types.Request>, IEquatable<AttributeContext.Types.Request>, IDeepCloneable<AttributeContext.Types.Request>, IBufferMessage, IMessage

This message defines attributes for an HTTP request. If the actual request is not an HTTP request, the runtime system should try to map the actual request to an equivalent HTTP request.

Inheritance

object > AttributeContext.Types.Request

Namespace

Google.Rpc.Context

Assembly

Google.Api.CommonProtos.dll

Constructors

Request()

public Request()

Request(Request)

public Request(AttributeContext.Types.Request other)
Parameter
NameDescription
otherAttributeContextTypesRequest

Fields

AuthFieldNumber

public const int AuthFieldNumber = 13

Field number for the "auth" field.

Field Value
TypeDescription
int

HeadersFieldNumber

public const int HeadersFieldNumber = 3

Field number for the "headers" field.

Field Value
TypeDescription
int

HostFieldNumber

public const int HostFieldNumber = 5

Field number for the "host" field.

Field Value
TypeDescription
int

IdFieldNumber

public const int IdFieldNumber = 1

Field number for the "id" field.

Field Value
TypeDescription
int

MethodFieldNumber

public const int MethodFieldNumber = 2

Field number for the "method" field.

Field Value
TypeDescription
int

PathFieldNumber

public const int PathFieldNumber = 4

Field number for the "path" field.

Field Value
TypeDescription
int

ProtocolFieldNumber

public const int ProtocolFieldNumber = 11

Field number for the "protocol" field.

Field Value
TypeDescription
int

QueryFieldNumber

public const int QueryFieldNumber = 7

Field number for the "query" field.

Field Value
TypeDescription
int

ReasonFieldNumber

public const int ReasonFieldNumber = 12

Field number for the "reason" field.

Field Value
TypeDescription
int

SchemeFieldNumber

public const int SchemeFieldNumber = 6

Field number for the "scheme" field.

Field Value
TypeDescription
int

SizeFieldNumber

public const int SizeFieldNumber = 10

Field number for the "size" field.

Field Value
TypeDescription
int

TimeFieldNumber

public const int TimeFieldNumber = 9

Field number for the "time" field.

Field Value
TypeDescription
int

Properties

Auth

public AttributeContext.Types.Auth Auth { get; set; }

The request authentication. May be absent for unauthenticated requests. Derived from the HTTP request Authorization header or equivalent.

Property Value
TypeDescription
AttributeContextTypesAuth

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
MessageDescriptor

Headers

public MapField<string, string> Headers { get; }

The HTTP request headers. If multiple headers share the same key, they must be merged according to the HTTP spec. All header keys must be lowercased, because HTTP header keys are case-insensitive.

Property Value
TypeDescription
MapFieldstringstring

Host

public string Host { get; set; }

The HTTP request Host header value.

Property Value
TypeDescription
string

Id

public string Id { get; set; }

The unique ID for a request, which can be propagated to downstream systems. The ID should have low probability of collision within a single day for a specific service.

Property Value
TypeDescription
string

Method

public string Method { get; set; }

The HTTP request method, such as GET, POST.

Property Value
TypeDescription
string

Parser

public static MessageParser<AttributeContext.Types.Request> Parser { get; }
Property Value
TypeDescription
MessageParserAttributeContextTypesRequest

Path

public string Path { get; set; }

The HTTP URL path, excluding the query parameters.

Property Value
TypeDescription
string

Protocol

public string Protocol { get; set; }

The network protocol used with the request, such as "http/1.1", "spdy/3", "h2", "h2c", "webrtc", "tcp", "udp", "quic". See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for details.

Property Value
TypeDescription
string

Query

public string Query { get; set; }

The HTTP URL query in the format of name1=value1&name2=value2, as it appears in the first line of the HTTP request. No decoding is performed.

Property Value
TypeDescription
string

Reason

public string Reason { get; set; }

A special parameter for request reason. It is used by security systems to associate auditing information with a request.

Property Value
TypeDescription
string

Scheme

public string Scheme { get; set; }

The HTTP URL scheme, such as http and https.

Property Value
TypeDescription
string

Size

public long Size { get; set; }

The HTTP request size in bytes. If unknown, it must be -1.

Property Value
TypeDescription
long

Time

public Timestamp Time { get; set; }

The timestamp when the destination service receives the last byte of the request.

Property Value
TypeDescription
Timestamp

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
int

Clone()

public AttributeContext.Types.Request Clone()
Returns
TypeDescription
AttributeContextTypesRequest

Equals(Request)

public bool Equals(AttributeContext.Types.Request other)
Parameter
NameDescription
otherAttributeContextTypesRequest
Returns
TypeDescription
bool

Equals(object)

public override bool Equals(object other)
Parameter
NameDescription
otherobject
Returns
TypeDescription
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
int
Overrides

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)
Parameter
NameDescription
inputCodedInputStream

MergeFrom(Request)

public void MergeFrom(AttributeContext.Types.Request other)
Parameter
NameDescription
otherAttributeContextTypesRequest

ToString()

public override string ToString()
Returns
TypeDescription
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)
Parameter
NameDescription
outputCodedOutputStream