public sealed class AttributeContext.Types.Response : IMessage<AttributeContext.Types.Response>, IEquatable<AttributeContext.Types.Response>, IDeepCloneable<AttributeContext.Types.Response>, IBufferMessage, IMessage
This message defines attributes for a typical network response. It
generally models semantics of an HTTP response.
The amount of time it takes the backend service to fully respond to a
request. Measured from when the destination service starts to send the
request to the backend until when the destination service receives the
complete response from the backend.
The HTTP response headers. If multiple headers share the same key, they
must be merged according to HTTP spec. All header keys must be
lowercased, because HTTP header keys are case-insensitive.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThis page provides documentation for the \u003ccode\u003eAttributeContext.Types.Response\u003c/code\u003e class, which defines attributes for a network response, typically modeling an HTTP response.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAttributeContext.Types.Response\u003c/code\u003e class implements multiple interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt includes properties such as \u003ccode\u003eCode\u003c/code\u003e, \u003ccode\u003eHeaders\u003c/code\u003e, \u003ccode\u003eSize\u003c/code\u003e, \u003ccode\u003eTime\u003c/code\u003e, and \u003ccode\u003eBackendLatency\u003c/code\u003e to detail the HTTP response status code, headers, size, timestamp, and backend latency respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe class also provides methods for cloning, calculating size, merging data from input streams, and determining equality with other \u003ccode\u003eResponse\u003c/code\u003e objects.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available is version 2.15.0, and it is located in the \u003ccode\u003eGoogle.Rpc.Context\u003c/code\u003e namespace within the \u003ccode\u003eGoogle.Api.CommonProtos.dll\u003c/code\u003e assembly.\u003c/p\u003e\n"]]],[],null,["# Class AttributeContext.Types.Response (2.17.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.17.0 (latest)](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext.Types.Response)\n- [2.15.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.15.0/Google.Rpc.Context.AttributeContext.Types.Response)\n- [2.10.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.10.0/Google.Rpc.Context.AttributeContext.Types.Response)\n- [2.2.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.2.0/Google.Rpc.Context.AttributeContext.Types.Response) \n\n public sealed class AttributeContext.Types.Response : IMessage\u003cAttributeContext.Types.Response\u003e, IEquatable\u003cAttributeContext.Types.Response\u003e, IDeepCloneable\u003cAttributeContext.Types.Response\u003e, IBufferMessage, IMessage\n\nThis message defines attributes for a typical network response. It\ngenerally models semantics of an HTTP response. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e AttributeContext.Types.Response \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[AttributeContext](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext)[Types](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext.Types)[Response](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext.Types.Response), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[AttributeContext](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext)[Types](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext.Types)[Response](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext.Types.Response), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[AttributeContext](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext)[Types](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext.Types)[Response](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context.AttributeContext.Types.Response), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals)\n\nNamespace\n---------\n\n[Google.Rpc.Context](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.Context)\n\nAssembly\n--------\n\nGoogle.Api.CommonProtos.dll\n\nConstructors\n------------\n\n### Response()\n\n public Response()\n\n### Response(Response)\n\n public Response(AttributeContext.Types.Response other)\n\nFields\n------\n\n### BackendLatencyFieldNumber\n\n public const int BackendLatencyFieldNumber = 5\n\nField number for the \"backend_latency\" field.\n\n### CodeFieldNumber\n\n public const int CodeFieldNumber = 1\n\nField number for the \"code\" field.\n\n### HeadersFieldNumber\n\n public const int HeadersFieldNumber = 3\n\nField number for the \"headers\" field.\n\n### SizeFieldNumber\n\n public const int SizeFieldNumber = 2\n\nField number for the \"size\" field.\n\n### TimeFieldNumber\n\n public const int TimeFieldNumber = 4\n\nField number for the \"time\" field.\n\nProperties\n----------\n\n### BackendLatency\n\n public Duration BackendLatency { get; set; }\n\nThe amount of time it takes the backend service to fully respond to a\nrequest. Measured from when the destination service starts to send the\nrequest to the backend until when the destination service receives the\ncomplete response from the backend.\n\n### Code\n\n public long Code { get; set; }\n\nThe HTTP response status code, such as `200` and `404`.\n\n### Descriptor\n\n public static MessageDescriptor Descriptor { get; }\n\n### Headers\n\n public MapField\u003cstring, string\u003e Headers { get; }\n\nThe HTTP response headers. If multiple headers share the same key, they\nmust be merged according to HTTP spec. All header keys must be\nlowercased, because HTTP header keys are case-insensitive.\n\n### Parser\n\n public static MessageParser\u003cAttributeContext.Types.Response\u003e Parser { get; }\n\n### Size\n\n public long Size { get; set; }\n\nThe HTTP response size in bytes. If unknown, it must be -1.\n\n### Time\n\n public Timestamp Time { get; set; }\n\nThe timestamp when the `destination` service sends the last byte of\nthe response.\n\nMethods\n-------\n\n### CalculateSize()\n\n public int CalculateSize()\n\n### Clone()\n\n public AttributeContext.Types.Response Clone()\n\n### Equals(Response)\n\n public bool Equals(AttributeContext.Types.Response other)\n\n### Equals(object)\n\n public override bool Equals(object other)\n\n**Overrides** \n[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object))\n\n### GetHashCode()\n\n public override int GetHashCode()\n\n**Overrides** \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)\n\n### MergeFrom(CodedInputStream)\n\n public void MergeFrom(CodedInputStream input)\n\n### MergeFrom(Response)\n\n public void MergeFrom(AttributeContext.Types.Response other)\n\n### ToString()\n\n public override string ToString()\n\n**Overrides** \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\n### WriteTo(CodedOutputStream)\n\n public void WriteTo(CodedOutputStream output)"]]