---
title: "Interface IRawClient"
slug: "web-sdk--stylelabs.m.sdk.webclient.contracts.irawclient"
abstract: ""
---
# Interface IRawClient

Contains functionality to do custom HTTP requests, while still being authenticated and impersonated (if impersonating). Custom HTTP clients or delegating handlers are still used. Events are still fired.

## Namespace: StylelabsStylelabs.MSdkWebClientContracts

## Assembly: Stylelabs.M.Sdk.WebClient.dll

## Syntax

```csharp
public interface IRawClient
```

## Methods

### DeleteAsync(string, IDictionary<string, string>)

Sends a DELETE request.

#### Declaration

```csharp
Task<HttpResponseMessage> DeleteAsync(string uri, IDictionary<string, string> headers = null)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | uri | Request URL. |
| IDictionary<, >stringstring | headers | Headers to include. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>HttpResponseMessage | HTTP response. |

### DeleteAsync(Uri, IDictionary<string, string>)

Sends a DELETE request.

#### Declaration

```csharp
Task<HttpResponseMessage> DeleteAsync(Uri uri, IDictionary<string, string> headers = null)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| Uri | uri | Request URL. |
| IDictionary<, >stringstring | headers | Headers to include. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>HttpResponseMessage | HTTP response. |

### GetAsync(string, IDictionary<string, string>)

Sends a GET request.

#### Declaration

```csharp
Task<HttpResponseMessage> GetAsync(string uri, IDictionary<string, string> headers = null)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | uri | Request URL. |
| IDictionary<, >stringstring | headers | Headers to include. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>HttpResponseMessage | HTTP response. |

### GetAsync(Uri, IDictionary<string, string>)

Sends a GET request.

#### Declaration

```csharp
Task<HttpResponseMessage> GetAsync(Uri uri, IDictionary<string, string> headers = null)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| Uri | uri | Request URL. |
| IDictionary<, >stringstring | headers | Headers to include. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>HttpResponseMessage | HTTP response. |

### PostAsync(string, HttpContent, IDictionary<string, string>)

Sends a POST request.

#### Declaration

```csharp
Task<HttpResponseMessage> PostAsync(string uri, HttpContent content = null, IDictionary<string, string> headers = null)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | uri | Request URL. |
| HttpContent | content | The HTTP content to send. |
| IDictionary<, >stringstring | headers | Headers to include. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>HttpResponseMessage | HTTP response. |

### PostAsync(Uri, HttpContent, IDictionary<string, string>)

Sends a POST request.

#### Declaration

```csharp
Task<HttpResponseMessage> PostAsync(Uri uri, HttpContent content = null, IDictionary<string, string> headers = null)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| Uri | uri | Request URL. |
| HttpContent | content | The HTTP content to send. |
| IDictionary<, >stringstring | headers | Headers to include. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>HttpResponseMessage | HTTP response. |

### PutAsync(string, HttpContent, IDictionary<string, string>)

Sends a PUT request.

#### Declaration

```csharp
Task<HttpResponseMessage> PutAsync(string uri, HttpContent content = null, IDictionary<string, string> headers = null)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| string | uri | Request URL. |
| HttpContent | content | The HTTP content to send. |
| IDictionary<, >stringstring | headers | Headers to include. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>HttpResponseMessage | HTTP response. |

### PutAsync(Uri, HttpContent, IDictionary<string, string>)

Sends a PUT request.

#### Declaration

```csharp
Task<HttpResponseMessage> PutAsync(Uri uri, HttpContent content = null, IDictionary<string, string> headers = null)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| Uri | uri | Request URL. |
| HttpContent | content | The HTTP content to send. |
| IDictionary<, >stringstring | headers | Headers to include. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>HttpResponseMessage | HTTP response. |

### SendAsync(Func<HttpRequestMessage>)

Does a HTTP request by using a message factory so that the request can be retried.

#### Declaration

```csharp
Task<HttpResponseMessage> SendAsync(Func<HttpRequestMessage> messageFactory)
```

#### Parameters

| Type | Name | Description |
| --- | --- | --- |
| Func<>HttpRequestMessage | messageFactory | Message factory. |

#### Returns

| Type | Description |
| --- | --- |
| Task<>HttpResponseMessage | HTTP response. |
