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
request
HttpRequestMessageThe 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
request
HttpRequestMessageThe request.
responseMessageAction
Action<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
request
HttpRequestMessageThe request.
responseMessageAction
Action<HttpResponseMessage>The response message action.
optionalClientGetter
Func<HttpClient>The optional client getter.
Returns
SendAsync(HttpRequestMessage?)
public static Task<HttpResponseMessage> SendAsync(this HttpRequestMessage? request)
Parameters
request
HttpRequestMessage
Returns
SendAsync(HttpRequestMessage?, Action<HttpRequestMessage>?)
public static Task<HttpResponseMessage> SendAsync(this HttpRequestMessage? request, Action<HttpRequestMessage>? requestMessageAction)
Parameters
request
HttpRequestMessageThe request.
requestMessageAction
Action<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
request
HttpRequestMessageThe request.
requestMessageAction
Action<HttpRequestMessage>The request message action.
optionalClientGetter
Func<HttpClient>The optional client getter.
completionOption
HttpCompletionOptionthe 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
request
HttpRequestMessageThe request.
requestBody
stringThe 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
request
HttpRequestMessageThe request.
requestBody
stringThe request body.
encoding
EncodingThe encoding.
mediaType
stringType 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
request
HttpRequestMessageThe request.
requestBody
stringThe request body.
encoding
EncodingThe encoding.
mediaType
stringType of the media.
requestMessageAction
Action<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
request
HttpRequestMessageThe request.
requestBody
stringThe request body.
encoding
EncodingThe encoding.
mediaType
stringType of the media.
requestMessageAction
Action<HttpRequestMessage>The request message action.
optionalClientGetter
Func<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
request
HttpRequestMessagestorageAccountName
stringthe Azure Storage account name
storageAccountKey
stringthe Azure Storage account shared key
eTag
stringentity tag for Web cache validation
md5
stringThe 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
request
HttpRequestMessage
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
request
HttpRequestMessagestorageAccountName
stringThe name of the storage account to use.
eTag
stringentity tag for Web cache validation
md5
stringThe 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
request
HttpRequestMessageblobName
stringthe Azure Storage Blob name
content
stringthe 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
request
HttpRequestMessagerequestMoment
DateTimethe moment of the request
serviceVersion
stringthe version of the storage services to use for a request
storageAccountName
stringthe Azure Storage account name
storageAccountKey
stringthe 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
request
HttpRequestMessagerequestMoment
DateTimethe moment of the request
serviceVersion
stringthe version of the storage services to use for a request
storageAccountName
stringthe Azure Storage account name
storageAccountKey
stringthe Azure Storage account shared key
eTag
stringentity tag for Web cache validation
md5
stringThe 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.