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
Name Description
other AttributeContextTypesRequest

Fields

AuthFieldNumber

public const int AuthFieldNumber = 13

Field number for the "auth" field.

Field Value
Type Description
int

HeadersFieldNumber

public const int HeadersFieldNumber = 3

Field number for the "headers" field.

Field Value
Type Description
int

HostFieldNumber

public const int HostFieldNumber = 5

Field number for the "host" field.

Field Value
Type Description
int

IdFieldNumber

public const int IdFieldNumber = 1

Field number for the "id" field.

Field Value
Type Description
int

MethodFieldNumber

public const int MethodFieldNumber = 2

Field number for the "method" field.

Field Value
Type Description
int

PathFieldNumber

public const int PathFieldNumber = 4

Field number for the "path" field.

Field Value
Type Description
int

ProtocolFieldNumber

public const int ProtocolFieldNumber = 11

Field number for the "protocol" field.

Field Value
Type Description
int

QueryFieldNumber

public const int QueryFieldNumber = 7

Field number for the "query" field.

Field Value
Type Description
int

ReasonFieldNumber

public const int ReasonFieldNumber = 12

Field number for the "reason" field.

Field Value
Type Description
int

SchemeFieldNumber

public const int SchemeFieldNumber = 6

Field number for the "scheme" field.

Field Value
Type Description
int

SizeFieldNumber

public const int SizeFieldNumber = 10

Field number for the "size" field.

Field Value
Type Description
int

TimeFieldNumber

public const int TimeFieldNumber = 9

Field number for the "time" field.

Field Value
Type Description
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
Type Description
AttributeContextTypesAuth

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
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
Type Description
MapFieldstringstring

Host

public string Host { get; set; }

The HTTP request Host header value.

Property Value
Type Description
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
Type Description
string

Method

public string Method { get; set; }

The HTTP request method, such as GET, POST.

Property Value
Type Description
string

Parser

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

Path

public string Path { get; set; }

The HTTP URL path, excluding the query parameters.

Property Value
Type Description
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
Type Description
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
Type Description
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
Type Description
string

Scheme

public string Scheme { get; set; }

The HTTP URL scheme, such as http and https.

Property Value
Type Description
string

Size

public long Size { get; set; }

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

Property Value
Type Description
long

Time

public Timestamp Time { get; set; }

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

Property Value
Type Description
Timestamp

Methods

CalculateSize()

public int CalculateSize()
Returns
Type Description
int

Clone()

public AttributeContext.Types.Request Clone()
Returns
Type Description
AttributeContextTypesRequest

Equals(Request)

public bool Equals(AttributeContext.Types.Request other)
Parameter
Name Description
other AttributeContextTypesRequest
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(CodedInputStream)

public void MergeFrom(CodedInputStream input)
Parameter
Name Description
input CodedInputStream

MergeFrom(Request)

public void MergeFrom(AttributeContext.Types.Request other)
Parameter
Name Description
other AttributeContextTypesRequest

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)
Parameter
Name Description
output CodedOutputStream