Table of Contents

Class HttpRequestMessageExtensions

Namespace
Kampute.HttpClient
Assembly
Kampute.HttpClient.dll

Provides extension methods for HttpRequestMessage to enhance functionality related to HTTP request processing.

public static class HttpRequestMessageExtensions
Inheritance
HttpRequestMessageExtensions
Inherited Members

Methods

CanClone(HttpRequestMessage)

Determines whether the HttpRequestMessage can be cloned without issues.

public static bool CanClone(this HttpRequestMessage request)

Parameters

request HttpRequestMessage

The HttpRequestMessage to check.

Returns

bool

true if the request does not contain a content or the content is reusable; otherwise, false.

Remarks

This is a quick check to prevent cloning of requests that contain one-time-use content, which could lead to unexpected behaviors such as empty request bodies or InvalidOperationException.

Clone(HttpRequestMessage)

Clones the specified HttpRequestMessage, including its headers, version, and properties.

public static HttpRequestMessage Clone(this HttpRequestMessage request)

Parameters

request HttpRequestMessage

The HttpRequestMessage to clone.

Returns

HttpRequestMessage

A new instance of HttpRequestMessage that is a clone of the original.

Remarks

This method copies the provided HttpRequestMessage, including its headers, version, and properties. The method reuses the original request's HttpContent in the cloned request.

Exceptions

InvalidOperationException

Thrown if the request contains a content that cannot be reused.

GetCloneGeneration(HttpRequestMessage)

Retrieves the number of times the original request was cloned to produce this HttpRequestMessage instance.

public static int GetCloneGeneration(this HttpRequestMessage request)

Parameters

request HttpRequestMessage

The HttpRequestMessage to check.

Returns

int

The clone generation count or zero if the request has not been cloned.

Remarks

The clone generation increases by 1 every time the request is cloned. An original request that has not been cloned will have a generation count of 0.

See Also

IsCloned(HttpRequestMessage)

Checks if the HttpRequestMessage is a clone.

public static bool IsCloned(this HttpRequestMessage request)

Parameters

request HttpRequestMessage

The HttpRequestMessage to check.

Returns

bool

true if the request has been cloned; otherwise, false.

Remarks

A cloned request is one that has been created through the Clone(HttpRequestMessage) extension method.

See Also