Class HttpRequestMessageExtensions
- Namespace
- Songhay.Extensions
- Assembly
- SonghayCore.dll
Extensions of HttpRequestMessage
public static class HttpRequestMessageExtensions
- Inheritance
-
HttpRequestMessageExtensions
- Inherited Members
Methods
GetContentAsync(HttpRequestMessage?)
Gets a string from the derived HttpResponseMessage.
public static Task<string> GetContentAsync(this HttpRequestMessage? request)
Parameters
requestHttpRequestMessageThe request.
Returns
GetContentAsync(HttpRequestMessage?, Action<HttpResponseMessage>?)
Gets a string from the derived HttpResponseMessage.
public static Task<string> GetContentAsync(this HttpRequestMessage? request, Action<HttpResponseMessage>? responseMessageAction)
Parameters
requestHttpRequestMessageThe request.
responseMessageActionAction<HttpResponseMessage>The response message action.
Returns
GetContentAsync(HttpRequestMessage?, Action<HttpResponseMessage>?, Func<HttpClient>?)
Gets a string from the derived HttpResponseMessage.
public static Task<string> GetContentAsync(this HttpRequestMessage? request, Action<HttpResponseMessage>? responseMessageAction, Func<HttpClient>? optionalClientGetter)
Parameters
requestHttpRequestMessageThe request.
responseMessageActionAction<HttpResponseMessage>The response message action.
optionalClientGetterFunc<HttpClient>The optional client getter.
Returns
SendAsync(HttpRequestMessage?)
public static Task<HttpResponseMessage> SendAsync(this HttpRequestMessage? request)
Parameters
requestHttpRequestMessage
Returns
SendAsync(HttpRequestMessage?, Action<HttpRequestMessage>?)
public static Task<HttpResponseMessage> SendAsync(this HttpRequestMessage? request, Action<HttpRequestMessage>? requestMessageAction)
Parameters
requestHttpRequestMessageThe request.
requestMessageActionAction<HttpRequestMessage>The request message action.
Returns
SendAsync(HttpRequestMessage?, Action<HttpRequestMessage>?, Func<HttpClient>?, HttpCompletionOption)
public static Task<HttpResponseMessage> SendAsync(this HttpRequestMessage? request, Action<HttpRequestMessage>? requestMessageAction, Func<HttpClient>? optionalClientGetter, HttpCompletionOption completionOption)
Parameters
requestHttpRequestMessageThe request.
requestMessageActionAction<HttpRequestMessage>The request message action.
optionalClientGetterFunc<HttpClient>The optional client getter.
completionOptionHttpCompletionOptionthe HttpCompletionOption.
Returns
SendBodyAsync(HttpRequestMessage?, string?)
Calls SendAsync(HttpRequestMessage) with the specified request body, UTF8 and ApplicationJson.
public static Task<HttpResponseMessage> SendBodyAsync(this HttpRequestMessage? request, string? requestBody)
Parameters
requestHttpRequestMessageThe request.
requestBodystringThe request body.
Returns
SendBodyAsync(HttpRequestMessage?, string?, Encoding, string)
Calls SendAsync(HttpRequestMessage) with the specified request body.
public static Task<HttpResponseMessage> SendBodyAsync(this HttpRequestMessage? request, string? requestBody, Encoding encoding, string mediaType)
Parameters
requestHttpRequestMessageThe request.
requestBodystringThe request body.
encodingEncodingThe encoding.
mediaTypestringType of the media.
Returns
SendBodyAsync(HttpRequestMessage?, string?, Encoding, string, Action<HttpRequestMessage>)
Calls SendAsync(HttpRequestMessage) with the specified request body.
public static Task<HttpResponseMessage> SendBodyAsync(this HttpRequestMessage? request, string? requestBody, Encoding encoding, string mediaType, Action<HttpRequestMessage> requestMessageAction)
Parameters
requestHttpRequestMessageThe request.
requestBodystringThe request body.
encodingEncodingThe encoding.
mediaTypestringType of the media.
requestMessageActionAction<HttpRequestMessage>The request message action.
Returns
SendBodyAsync(HttpRequestMessage?, string?, Encoding?, string?, Action<HttpRequestMessage>?, Func<HttpClient>?)
Calls SendAsync(HttpRequestMessage) with the specified request body.
public static Task<HttpResponseMessage> SendBodyAsync(this HttpRequestMessage? request, string? requestBody, Encoding? encoding, string? mediaType, Action<HttpRequestMessage>? requestMessageAction, Func<HttpClient>? optionalClientGetter)
Parameters
requestHttpRequestMessageThe request.
requestBodystringThe request body.
encodingEncodingThe encoding.
mediaTypestringType of the media.
requestMessageActionAction<HttpRequestMessage>The request message action.
optionalClientGetterFunc<HttpClient>The optional client getter.
Returns
ToAzureStorageAuthorizationHeader(HttpRequestMessage?, string?, string?, string?, string?)
Derives the AuthenticationHeaderValue from the HttpRequestMessage.
public static AuthenticationHeaderValue ToAzureStorageAuthorizationHeader(this HttpRequestMessage? request, string? storageAccountName, string? storageAccountKey, string? eTag, string? md5)
Parameters
requestHttpRequestMessagestorageAccountNamestringthe Azure Storage account name
storageAccountKeystringthe Azure Storage account shared key
eTagstringentity tag for Web cache validation
md5stringThe MD5 (message-digest algorithm) hash
Returns
Remarks
There are two Authorization Header schemes supported: SharedKey and SharedKeyLite. This member supports only one of them: SharedKey. For more detail, see “Specifying the Authorization header” [ https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key#specifying-the-authorization-header ]
See also: “Authorize requests to Azure Storage” [ https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-requests-to-azure-storage ]
See also: https://github.com/Azure-Samples/storage-dotnet-rest-api-with-auth/tree/master
Provide the md5 and it will check and make sure it matches the requested blob's md5. If it doesn't match, it won't return a value.
Provide an eTag, and it will only make changes to a blob if the current eTag matches, to ensure you don't overwrite someone else's changes.
ToAzureStorageCanonicalizedHeaders(HttpRequestMessage?)
Returns headers, starting with x-ms-,
in a canonical format.
public static string ToAzureStorageCanonicalizedHeaders(this HttpRequestMessage? request)
Parameters
requestHttpRequestMessage
Returns
Remarks
See https://github.com/Azure-Samples/storage-dotnet-rest-api-with-auth/tree/master
See https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-requests-to-azure-storage
See https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key
ToAzureStorageSignature(HttpRequestMessage?, string?, string?, string?)
Derives the raw representation of the message signature from the HttpRequestMessage.`
public static byte[] ToAzureStorageSignature(this HttpRequestMessage? request, string? storageAccountName, string? eTag, string? md5)
Parameters
requestHttpRequestMessagestorageAccountNamestringThe name of the storage account to use.
eTagstringentity tag for Web cache validation
md5stringThe MD5 (message-digest algorithm) hash
Returns
- byte[]
Remarks
See https://github.com/Azure-Samples/storage-dotnet-rest-api-with-auth/tree/master
See https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-requests-to-azure-storage
See https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key
WithAzureStorageBlockBlobContent(HttpRequestMessage?, string?, string?)
Returns HttpRequestMessage with conventional headers for ByteArrayContent for Azure Storage.
public static HttpRequestMessage WithAzureStorageBlockBlobContent(this HttpRequestMessage? request, string? blobName, string? content)
Parameters
requestHttpRequestMessageblobNamestringthe Azure Storage Blob name
contentstringthe Azure Storage Blob content
Returns
WithAzureStorageHeaders(HttpRequestMessage?, DateTime, string?, string?, string?)
Returns HttpRequestMessage with conventional headers for Azure Storage.
public static HttpRequestMessage WithAzureStorageHeaders(this HttpRequestMessage? request, DateTime requestMoment, string? serviceVersion, string? storageAccountName, string? storageAccountKey)
Parameters
requestHttpRequestMessagerequestMomentDateTimethe moment of the request
serviceVersionstringthe version of the storage services to use for a request
storageAccountNamestringthe Azure Storage account name
storageAccountKeystringthe Azure Storage account shared key
Returns
WithAzureStorageHeaders(HttpRequestMessage?, DateTime, string?, string?, string?, string?, string?)
Returns HttpRequestMessage with the minimum headers required for Azure Storage.
public static HttpRequestMessage WithAzureStorageHeaders(this HttpRequestMessage? request, DateTime requestMoment, string? serviceVersion, string? storageAccountName, string? storageAccountKey, string? eTag, string? md5)
Parameters
requestHttpRequestMessagerequestMomentDateTimethe moment of the request
serviceVersionstringthe version of the storage services to use for a request
storageAccountNamestringthe Azure Storage account name
storageAccountKeystringthe Azure Storage account shared key
eTagstringentity tag for Web cache validation
md5stringThe MD5 (message-digest algorithm) hash
Returns
Remarks
See https://github.com/Azure-Samples/storage-dotnet-rest-api-with-auth/tree/master
See https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-requests-to-azure-storage
See https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key
Provide the md5 and it will check and make sure it matches the requested blob's md5. If it doesn't match, it won't return a value.
Provide an eTag, and it will only make changes to a blob if the current eTag matches, to ensure you don't overwrite someone else's changes.