Class AttributeContext.Types.Request (2.2.0)

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

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(AttributeContext.Types.Request)

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

Fields

AuthFieldNumber

public const int AuthFieldNumber = 13

Field number for the "auth" field.

Field Value
TypeDescription
Int32

HeadersFieldNumber

public const int HeadersFieldNumber = 3

Field number for the "headers" field.

Field Value
TypeDescription
Int32

HostFieldNumber

public const int HostFieldNumber = 5

Field number for the "host" field.

Field Value
TypeDescription
Int32

IdFieldNumber

public const int IdFieldNumber = 1

Field number for the "id" field.

Field Value
TypeDescription
Int32

MethodFieldNumber

public const int MethodFieldNumber = 2

Field number for the "method" field.

Field Value
TypeDescription
Int32

PathFieldNumber

public const int PathFieldNumber = 4

Field number for the "path" field.

Field Value
TypeDescription
Int32

ProtocolFieldNumber

public const int ProtocolFieldNumber = 11

Field number for the "protocol" field.

Field Value
TypeDescription
Int32

QueryFieldNumber

public const int QueryFieldNumber = 7

Field number for the "query" field.

Field Value
TypeDescription
Int32

ReasonFieldNumber

public const int ReasonFieldNumber = 12

Field number for the "reason" field.

Field Value
TypeDescription
Int32

SchemeFieldNumber

public const int SchemeFieldNumber = 6

Field number for the "scheme" field.

Field Value
TypeDescription
Int32

SizeFieldNumber

public const int SizeFieldNumber = 10

Field number for the "size" field.

Field Value
TypeDescription
Int32

TimeFieldNumber

public const int TimeFieldNumber = 9

Field number for the "time" field.

Field Value
TypeDescription
Int32

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
AttributeContext.Types.Auth

Descriptor

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

Headers

public Protobuf.Collections.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
Protobuf.Collections.MapField<String, String>

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 Protobuf.MessageParser<AttributeContext.Types.Request> Parser { get; }
Property Value
TypeDescription
Protobuf.MessageParser<AttributeContext.Types.Request>

Path

public string Path { get; set; }

The HTTP URL path.

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&amp;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
Int64

Time

public Protobuf.WellKnownTypes.Timestamp Time { get; set; }

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

Property Value
TypeDescription
Protobuf.WellKnownTypes.Timestamp

Methods

CalculateSize()

public int CalculateSize()
Returns
TypeDescription
Int32

Clone()

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

Equals(AttributeContext.Types.Request)

public bool Equals(AttributeContext.Types.Request other)
Parameter
NameDescription
otherAttributeContext.Types.Request
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(Protobuf.CodedInputStream)

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

MergeFrom(AttributeContext.Types.Request)

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

ToString()

public override string ToString()
Returns
TypeDescription
String

WriteTo(Protobuf.CodedOutputStream)

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