ReqRest
Show / Hide Table of Contents

Class ApiRequestBase

Defines the shared members of a request builder abstraction for a RESTful HTTP API.

Inheritance
Object
HttpRequestMessageBuilder
ApiRequestBase
ApiRequest
ApiRequest<T1>
ApiRequest<T1, T2>
ApiRequest<T1, T2, T3>
ApiRequest<T1, T2, T3, T4>
ApiRequest<T1, T2, T3, T4, T5>
ApiRequest<T1, T2, T3, T4, T5, T6>
ApiRequest<T1, T2, T3, T4, T5, T6, T7>
ApiRequest<T1, T2, T3, T4, T5, T6, T7, T8>
Implements
IHttpRequestMessageBuilder
IHttpHeadersBuilder<HttpRequestHeaders>
IHttpHeadersBuilder
IHttpRequestPropertiesBuilder
IHttpContentBuilder
IHttpProtocolVersionBuilder
IRequestUriBuilder
IHttpMethodBuilder
IBuilder
Namespace: ReqRest
Assembly: ReqRest.dll
Syntax
public abstract class ApiRequestBase : HttpRequestMessageBuilder, IHttpRequestMessageBuilder, IHttpHeadersBuilder<HttpRequestHeaders>, IHttpHeadersBuilder, IHttpRequestPropertiesBuilder, IHttpContentBuilder, IHttpProtocolVersionBuilder, IRequestUriBuilder, IHttpMethodBuilder, IBuilder

Constructors

ApiRequestBase(Func<HttpClient>, Nullable<HttpRequestMessage>)

Initializes a new ApiRequestBase instance with the specified initial property values.

Declaration
public ApiRequestBase(Func<HttpClient> httpClientProvider, HttpRequestMessage? httpRequestMessage = default(HttpRequestMessage? ))
Parameters
Type Name Description
Func<HttpClient> httpClientProvider

A function which returns an HttpClient instance which will ultimately be used to send the HttpRequestMessage for executing the API request.

Nullable<HttpRequestMessage> httpRequestMessage

The request from which the builder starts building. If null, a new instance is created instead.

Exceptions
Type Condition
ArgumentNullException
  • httpClientProvider

Properties

HttpClientProvider

Gets or sets a function which returns an HttpClient instance which will ultimately be used to send the HttpRequestMessage for executing the API request.

Declaration
public Func<HttpClient> HttpClientProvider { get; set; }
Exceptions
Type Condition
ArgumentNullException

PossibleResponseTypes

Gets a list of elements which declare what possible .NET types the API may return for this request, depending on the result's status code.

Declaration
public IReadOnlyCollection<ResponseTypeInfo> PossibleResponseTypes { get; }

Implements

IHttpRequestMessageBuilder
IHttpHeadersBuilder<T>
IHttpHeadersBuilder
IHttpRequestPropertiesBuilder
IHttpContentBuilder
IHttpProtocolVersionBuilder
IRequestUriBuilder
IHttpMethodBuilder
IBuilder

Extension Methods

JsonHttpContentBuilderExtensions.SetJsonContent<T>(T, Nullable<Object>, Nullable<Encoding>, Nullable<JsonHttpContentSerializer>)
JsonHttpMethodBuilderExtensions.PostJson<T>(T, Nullable<Object>, Nullable<Encoding>, Nullable<JsonHttpContentSerializer>)
JsonHttpMethodBuilderExtensions.PutJson<T>(T, Nullable<Object>, Nullable<Encoding>, Nullable<JsonHttpContentSerializer>)
JsonHttpMethodBuilderExtensions.PatchJson<T>(T, Nullable<Object>, Nullable<Encoding>, Nullable<JsonHttpContentSerializer>)
ApiRequestBaseExtensions.SetHttpClientProvider<T>(T, HttpClient)
ApiRequestBaseExtensions.SetHttpClientProvider<T>(T, Func<HttpClient>)
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>)
HttpMethodBuilderExtensions.Get<T>(T)
HttpMethodBuilderExtensions.Post<T>(T)
HttpMethodBuilderExtensions.Put<T>(T)
HttpMethodBuilderExtensions.Delete<T>(T)
HttpMethodBuilderExtensions.Options<T>(T)
HttpMethodBuilderExtensions.Trace<T>(T)
HttpMethodBuilderExtensions.Head<T>(T)
HttpMethodBuilderExtensions.Patch<T>(T)
HttpMethodBuilderExtensions.SetMethod<T>(T, String)
HttpMethodBuilderExtensions.SetMethod<T>(T, HttpMethod)
HttpProtocolVersionBuilderExtensions.SetVersion<T>(T, Version)
HttpRequestMessageBuilderExtensions.ConfigureRequest<T>(T, Action<HttpRequestMessage>)
HttpRequestMessageBuilderExtensions.ConfigureRequest<T>(T, Func<HttpRequestMessage>)
HttpRequestMessageBuilderExtensions.ConfigureRequest<T>(T, Func<HttpRequestMessage, HttpRequestMessage>)
HttpRequestMessageBuilderExtensions.SetRequest<T>(T, HttpRequestMessage)
HttpRequestPropertiesBuilderExtensions.SetProperty<T>(T, String, Nullable<Object>)
HttpRequestPropertiesBuilderExtensions.AddProperty<T>(T, String, Nullable<Object>)
HttpRequestPropertiesBuilderExtensions.RemoveProperty<T>(T, Nullable<String>[], names)
HttpRequestPropertiesBuilderExtensions.ClearProperties<T>(T)
HttpRequestPropertiesBuilderExtensions.ConfigureProperties<T>(T, Action<IDictionary<String, Nullable<Object>>>)
RequestUriBuilderExtensions.ConfigureRequestUri<T>(T, Action<UrlBuilder>)
RequestUriBuilderExtensions.ConfigureRequestUri<T>(T, Func<UrlBuilder, Nullable<Uri>>)
RequestUriBuilderExtensions.SetRequestUri<T>(T, Nullable<String>)
RequestUriBuilderExtensions.SetRequestUri<T>(T, Nullable<Uri>)
Back to top Copyright © 2019 ReqRest - Generated with DocFX - Material Theme made by Oscar Vásquez - Impressum (Imprint)