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
requestHttpRequestMessageThe HttpRequestMessage to check.
Returns
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
requestHttpRequestMessageThe 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
requestHttpRequestMessageThe 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
requestHttpRequestMessageThe HttpRequestMessage to check.
Returns
Remarks
A cloned request is one that has been created through the Clone(HttpRequestMessage) extension method.
- See Also