> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor/ks.reactor.kswebrequest.md).

# Class ksWebRequest

Namespace: [KS.Reactor](/reactor/api-reference/ks.reactor.md)\
Assembly: KSCommon.dll

Asynchronous web request class using HTTP Web Request.

```csharp
public class ksWebRequest : ksIWebRequest
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [ksWebRequest](/reactor/api-reference/ks.reactor/ks.reactor.kswebrequest.md)

#### Implements

[ksIWebRequest](/reactor/api-reference/ks.reactor/ks.reactor.ksiwebrequest.md)

#### Inherited Members

[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Constructors

### ksWebRequest(string, WebHeaderCollection, string, ksJSON, Handler, object) <a href="#ks_reactor_kswebrequest__ctor_system_string_system_net_webheadercollection_system_string_ks_reactor" id="ks_reactor_kswebrequest__ctor_system_string_system_net_webheadercollection_system_string_ks_reactor"></a>

Constructor specific requests.

```csharp
public ksWebRequest(string url, WebHeaderCollection headers = null, string method = "GET", ksJSON jsonRequest = null, ksWebResponse.Handler onComplete = null, object stateObject = null)
```

#### Parameters

`url` [string](https://learn.microsoft.com/dotnet/api/system.string)

URL.

`headers` [WebHeaderCollection](https://learn.microsoft.com/dotnet/api/system.net.webheadercollection)

Request string.

`method` [string](https://learn.microsoft.com/dotnet/api/system.string)

Request method.

`jsonRequest` [ksJSON](/reactor/api-reference/ks.reactor/ks.reactor.ksjson.md)

JSON request.

`onComplete` [ksWebResponse](/reactor/api-reference/ks.reactor/ks.reactor.kswebresponse.md).[Handler](/reactor/api-reference/ks.reactor/ks.reactor.kswebresponse/ks.reactor.kswebresponse.handler.md)

Optional completion handler.

`stateObject` [object](https://learn.microsoft.com/dotnet/api/system.object)

User defined state tracking object.

### ksWebRequest(string, FileInfo\[], ksJSON, Handler) <a href="#ks_reactor_kswebrequest__ctor_system_string_system_io_fileinfo___ks_reactor_ksjson_ks_reactor_kswebr" id="ks_reactor_kswebrequest__ctor_system_string_system_io_fileinfo___ks_reactor_ksjson_ks_reactor_kswebr"></a>

Sends a request and upload files.

```csharp
public ksWebRequest(string url, FileInfo[] files, ksJSON jsonRequest, ksWebResponse.Handler onComplete = null)
```

#### Parameters

`url` [string](https://learn.microsoft.com/dotnet/api/system.string)

URL

`files` [FileInfo](https://learn.microsoft.com/dotnet/api/system.io.fileinfo)\[]

List of files to upload.

`jsonRequest` [ksJSON](/reactor/api-reference/ks.reactor/ks.reactor.ksjson.md)

JSON request data.

`onComplete` [ksWebResponse](/reactor/api-reference/ks.reactor/ks.reactor.kswebresponse.md).[Handler](/reactor/api-reference/ks.reactor/ks.reactor.kswebresponse/ks.reactor.kswebresponse.handler.md)

Optional completion handler.

## Properties

### Headers <a href="#ks_reactor_kswebrequest_headers" id="ks_reactor_kswebrequest_headers"></a>

Headers.

```csharp
public WebHeaderCollection Headers { get; }
```

#### Property Value

[WebHeaderCollection](https://learn.microsoft.com/dotnet/api/system.net.webheadercollection)

### IsDone <a href="#ks_reactor_kswebrequest_isdone" id="ks_reactor_kswebrequest_isdone"></a>

Checks if the request has completed.

```csharp
public bool IsDone { get; }
```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### JSON <a href="#ks_reactor_kswebrequest_json" id="ks_reactor_kswebrequest_json"></a>

JSON data.

```csharp
public ksJSON JSON { get; }
```

#### Property Value

[ksJSON](/reactor/api-reference/ks.reactor/ks.reactor.ksjson.md)

### Method <a href="#ks_reactor_kswebrequest_method" id="ks_reactor_kswebrequest_method"></a>

Method.

```csharp
public string Method { get; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### Response <a href="#ks_reactor_kswebrequest_response" id="ks_reactor_kswebrequest_response"></a>

Response.

```csharp
public ksWebResponse Response { get; }
```

#### Property Value

[ksWebResponse](/reactor/api-reference/ks.reactor/ks.reactor.kswebresponse.md)

### URL <a href="#ks_reactor_kswebrequest_url" id="ks_reactor_kswebrequest_url"></a>

URL.

```csharp
public string URL { get; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)
