ReqRest
Show / Hide Table of Contents

Class ApiResponse<T1, T2, T3>

Encapsulates information which were returned by a RESTful HTTP API after making a request to it. This response class declares that it may hold a resource of one of the generic type parameters.

Inheritance
Object
HttpResponseMessageBuilder
ApiResponseBase
ApiResponse<T1, T2, T3>
Implements
IHttpResponseMessageBuilder
IHttpHeadersBuilder<HttpResponseHeaders>
IHttpHeadersBuilder
IHttpContentBuilder
IHttpProtocolVersionBuilder
IHttpResponseReasonPhraseBuilder
IHttpStatusCodeBuilder
IBuilder
Namespace: ReqRest
Assembly: ReqRest.dll
Syntax
public sealed class ApiResponse<T1, T2, T3> : ApiResponseBase, IHttpResponseMessageBuilder, IHttpHeadersBuilder<HttpResponseHeaders>, IHttpHeadersBuilder, IHttpContentBuilder, IHttpProtocolVersionBuilder, IHttpResponseReasonPhraseBuilder, IHttpStatusCodeBuilder, IBuilder
Type Parameters
Name Description
T1

A potential type which may be deserialized from this response.

T2

A potential type which may be deserialized from this response.

T3

A potential type which may be deserialized from this response.

Methods

DeserializeResourceAsync()

Deserializes the HTTP content and returns the deserialized resource.

Declaration
public Task<Variant<T1, T2, T3>> DeserializeResourceAsync()
Returns
Type Description
Task<NCommons.Monads.Variant<T1, T2, T3>>

The deserialized resource represented through a NCommons.Monads.Variant`3 which holds a value that matches the response type declared for the response's HTTP status code. This variant is empty if the response's HTTP status code doesn't match any declared one.

Exceptions
Type Condition
HttpContentSerializationException

There was a resource to deserialize, but the underlying IHttpContentDeserializer threw an exception while deserializing the resource.

InvalidOperationException

GetCurrentResponseTypeInfo() returned null.

--or--

The ResponseDeserializerFactory of the ResponseTypeInfo returned by GetCurrentResponseTypeInfo() returned null.

Implements

IHttpResponseMessageBuilder
IHttpHeadersBuilder<T>
IHttpHeadersBuilder
IHttpContentBuilder
IHttpProtocolVersionBuilder
IHttpResponseReasonPhraseBuilder
IHttpStatusCodeBuilder
IBuilder

Extension Methods

JsonHttpContentBuilderExtensions.SetJsonContent<T>(T, Nullable<Object>, Nullable<Encoding>, Nullable<JsonHttpContentSerializer>)
BuilderExtensions.Configure<T>(T, Action<T>)
BuilderExtensions.If<T>(T, Boolean, Action<T>)
BuilderExtensions.IfNot<T>(T, Boolean, Action<T>)
HttpContentBuilderExtensions.SetFormUrlEncodedContent<T>(T, (String Key, String Value)[])
HttpContentBuilderExtensions.SetFormUrlEncodedContent<T>(T, IEnumerable<(String Key, String Value)>)
HttpContentBuilderExtensions.SetFormUrlEncodedContent<T>(T, KeyValuePair<String, String>[])
HttpContentBuilderExtensions.SetFormUrlEncodedContent<T>(T, IEnumerable<KeyValuePair<String, String>>)
HttpContentBuilderExtensions.SetContent<T>(T, String, Nullable<Encoding>, Nullable<String>)
HttpContentBuilderExtensions.SetContent<T>(T, Byte[])
HttpContentBuilderExtensions.SetContent<T>(T, Byte[], Int32, Int32)
HttpContentBuilderExtensions.SetContent<T>(T, Nullable<HttpContent>)
HttpContentBuilderExtensions.SetContentType<T>(T, String, Nullable<String>, Nullable<IEnumerable<NameValueHeaderValue>>)
HttpContentBuilderExtensions.SetContentType<T>(T, Nullable<MediaTypeHeaderValue>)
HttpContentBuilderExtensions.AddContentHeader<T>(T, String)
HttpContentBuilderExtensions.AddContentHeader<T>(T, String, Nullable<String>)
HttpContentBuilderExtensions.AddContentHeader<T>(T, String, Nullable<IEnumerable<Nullable<String>>>)
HttpContentBuilderExtensions.RemoveContentHeader<T>(T, Nullable<String>[], names)
HttpContentBuilderExtensions.ClearContentHeaders<T>(T)
HttpContentBuilderExtensions.ConfigureContentHeaders<T>(T, Action<HttpContentHeaders>)
HttpHeadersBuilderExtensions.AddHeader<T>(T, String)
HttpHeadersBuilderExtensions.AddHeader<T>(T, String, Nullable<String>)
HttpHeadersBuilderExtensions.AddHeader<T>(T, String, Nullable<IEnumerable<Nullable<String>>>)
HttpHeadersBuilderExtensions.RemoveHeader<T>(T, Nullable<String>[], names)
HttpHeadersBuilderExtensions.SetHeader<T>(T, String)
HttpHeadersBuilderExtensions.SetHeader<T>(T, String, Nullable<String>)
HttpHeadersBuilderExtensions.SetHeader<T>(T, String, Nullable<IEnumerable<Nullable<String>>>)
HttpHeadersBuilderExtensions.ClearHeaders<T>(T)
HttpHeadersBuilderExtensions.ConfigureHeaders<T>(T, Action<HttpHeaders>)
HttpProtocolVersionBuilderExtensions.SetVersion<T>(T, Version)
HttpResponseMessageBuilderExtensions.ConfigureResponse<T>(T, Action<HttpResponseMessage>)
HttpResponseMessageBuilderExtensions.ConfigureResponse<T>(T, Func<HttpResponseMessage>)
HttpResponseMessageBuilderExtensions.ConfigureResponse<T>(T, Func<HttpResponseMessage, HttpResponseMessage>)
HttpResponseMessageBuilderExtensions.SetResponse<T>(T, HttpResponseMessage)
HttpResponseReasonPhraseBuilderExtensions.SetReasonPhrase<T>(T, Nullable<String>)
HttpStatusCodeBuilderExtensions.SetStatusCode<T>(T, Int32)
HttpStatusCodeBuilderExtensions.SetStatusCode<T>(T, HttpStatusCode)
Back to top Copyright © 2019 ReqRest - Generated with DocFX - Material Theme made by Oscar Vásquez - Impressum (Imprint)