Rest C# Reference Documentation

Rest

API for implementing RESTful Web API's.

Object Creation

Chilkat.Rest obj = new Chilkat.Rest();

Properties

public bool AllowHeaderFolding {get; set; }

Introduced in version 9.5.0.63

If this property is set to false, then no MIME header folding will be automatically applied to any request header. The default is true. This property is provided to satisfy certain providers, such as Quickbooks, that require all MIME headers to be single unfolded lines regardless of length.

public bool AllowHeaderQB {get; set; }

Introduced in version 9.5.0.59

Controls whether non us-ascii HTTP request headers are automatically Q/B encoded. The default value is true.

Q/B encoded headers explicitly indicate the charset and byte representation, and appear as such: =?utf-8?Q?...?= or =?utf-8?B?...?=, where the charset may be "utf-8" or any other possible charset.

If this property is set to false, then no Q/B encoding is applied to any request header.

public string Authorization {get; set; }

Introduced in version 9.5.0.58

The value of the Authorization HTTP request header (if needed).

public int ConnectFailReason {get; }

Introduced in version 9.5.0.58

If the Connect method fails, this property can be checked to determine the reason for failure.

Possible values are:

0 = success

Normal (non-SSL) sockets:
1 = empty hostname
2 = DNS lookup failed
3 = DNS timeout
4 = Aborted by application.
5 = Internal failure.
6 = Connect Timed Out
7 = Connect Rejected (or failed for some other reason)

SSL/TLS:
100 = TLS internal error.
101 = Failed to send client hello.
102 = Unexpected handshake message.
103 = Failed to read server hello.
104 = No server certificate.
105 = Unexpected TLS protocol version.
106 = Server certificate verify failed (the server certificate is expired or the cert's signature verification failed).
107 = Unacceptable TLS protocol version.
109 = Failed to read handshake messages.
110 = Failed to send client certificate handshake message.
111 = Failed to send client key exchange handshake message.
112 = Client certificate's private key not accessible.
113 = Failed to send client cert verify handshake message.
114 = Failed to send change cipher spec handshake message.
115 = Failed to send finished handshake message.
116 = Server's Finished message is invalid.

public int ConnectTimeoutMs {get; set; }

Introduced in version 9.5.0.71

The maximum amount of time to wait for the connection to be accepted by the HTTP server.

Note: Suprisingly, this property was forgotten and not added until Chilkat v9.5.0.71.

public string DebugLogFilePath {get; set; }

If set to a file path, causes each Chilkat method or property call to automatically append it's LastErrorText to the specified log file. The information is appended such that if a hang or crash occurs, it is possible to see the context in which the problem occurred, as well as a history of all Chilkat calls up to the point of the problem. The VerboseLogging property can be set to provide more detailed information.

This property is typically used for debugging the rare cases where a Chilkat method call hangs or generates an exception that halts program execution (i.e. crashes). A hang or crash should generally never happen. The typical causes of a hang are:

  1. a timeout related property was set to 0 to explicitly indicate that an infinite timeout is desired,
  2. the hang is actually a hang within an event callback (i.e. it is a hang within the application code), or
  3. there is an internal problem (bug) in the Chilkat code that causes the hang.

public int HeartbeatMs {get; set; }

Introduced in version 9.5.0.58

This property is only valid in programming environment and languages that allow for event callbacks.

Specifies the time interval in milliseconds between AbortCheck events. A value of 0 (the default) indicate that no AbortCheck events will fire. Any REST method can be aborted via the AbortCheck event.

public string Host {get; set; }

Introduced in version 9.5.0.58

The value of the Host HTTP request header.

public int IdleTimeoutMs {get; set; }

Introduced in version 9.5.0.58

The maximum amount of time to wait for additional incoming data when receiving, or the max time to wait to send additional data. The default value is 30000 (30 seconds). This is not an overall max timeout. Rather, it is the maximum time to wait when receiving or sending has halted.

public string LastErrorHtml {get; }

Provides information in HTML format about the last method/property called. If a method call returns a value indicating failure, or behaves unexpectedly, examine this property to get more information.

public string LastErrorText {get; }

Provides information in plain-text format about the last method/property called. If a method call returns a value indicating failure, or behaves unexpectedly, examine this property to get more information.

Concept of LastErrorText

LastErrorText Standard Information

public string LastErrorXml {get; }

Provides information in XML format about the last method/property called. If a method call returns a value indicating failure, or behaves unexpectedly, examine this property to get more information.

public bool LastMethodSuccess {get; set; }

Introduced in version 9.5.0.52

Indicate whether the last method call succeeded or failed. A value of true indicates success, a value of false indicates failure. This property is automatically set for method calls. It is not modified by property accesses. The property is automatically set to indicate success for the following types of method calls:

  • Any method that returns a string.
  • Any method returning a Chilkat object, binary bytes, or a date/time.
  • Any method returning a standard boolean status value where success = true and failure = false.
  • Any method returning an integer where failure is defined by a return value less than zero.

Note: Methods that do not fit the above requirements will always set this property equal to true. For example, a method that returns no value (such as a "void" in C++) will technically always succeed.

public string LastRequestHeader {get; }

Introduced in version 9.5.0.58

The full MIME header (not including the HTTP start line which contains the status code and status text), of the last request sent.

public string LastRequestStartLine {get; }

Introduced in version 9.5.0.58

The full start line of the last request sent. (The start line begins with the HTTP verb, such as GET, POST, etc., is followed by the URI path, and ends with the HTTP version.)

public int NumResponseHeaders {get; }

Introduced in version 9.5.0.58

The number of response header fields. The first response header field is at index 0.

public string PartSelector {get; set; }

Introduced in version 9.5.0.58

Only used for multipart requests. Selects the target MIME part for calls to AddHeader, RemoveHeader, SetMultipartBodyBinary, SetMultipartBodyString, SetMultipartBodyStream, etc. The default is an empty string and indicates the top-level header. A string value of "1" would indicate the 1st sub-part in a multipart request. A string value of "1.2" would indicate the 2nd sub-part under the 1st sub-part.

It is unlikely you'll ever encounter the need for nested multipart requests (i.e. part selectors such as "1.2") Also, most REST requests are NOT multipart, and therefore this feature is rarely used. An example of a multipart REST request would be for a Google Drive upload, where the top-level Content-Type is multipart/related, the1st sub-part contains the JSON meta-data, and the 2nd sub-part contains the file data.

(C#) Google Drive Multipart Upload String (Google Drive)

(Mono C#) Google Drive Multipart Upload String (Google Drive)

(.NET Core C#) Google Drive Multipart Upload String (Google Drive)

(PowerShell) Google Drive Multipart Upload String (Google Drive)

public bool PercentDoneOnSend {get; set; }

Introduced in version 9.5.0.58

This property only applies to the FullRequest* methods, which are methods that both send an HTTP request and receive the response. (It also only applies to programming languages that support event callbacks.) It determines whether percentage completion is tracked for the sending of the HTTP request, or for the downloading the HTTP response. The default value is false, which is to measure the percent completion when receiving the response.

For example: If the REST request is to download a file, then this property should remain at the default value of false. If the REST request is to upload a file (using a Full* method), then set this property to true. Also note if a server sends an HTTP response in the chunked encoding, it is not possible to measure percent completion because the HTTP client has no way of knowing the total size of the HTTP response.

public string ResponseHeader {get; }

Introduced in version 9.5.0.58

The full response MIME header (not including the HTTP start line which contains the status code and status text).

public int ResponseStatusCode {get; }

Introduced in version 9.5.0.58

The response status code.

public string ResponseStatusText {get; }

Introduced in version 9.5.0.58

The status message corresponding to the response status code.

public bool StreamNonChunked {get; set; }

Introduced in version 9.5.0.58

If true, then methods that upload data are sent non-chunked if possible. For example, if the FullRequestStream method is called where the stream is a file stream, then the size of the content is known and the HTTP request will be sent using a Content-Length header instead of using a Transfer-Encoding: chunked upload. If false, then the chunked transfer encoding is used. The default value of this property is true.

public bool VerboseLogging {get; set; }

If set to true, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. The default value is false. Verbose logging should only be used for debugging. The potentially large quantity of logged information may adversely affect peformance.

public string Version {get; }

Version of the component/library, such as "9.5.0.63"

Methods

public bool AddHeader(string name, string value);

Introduced in version 9.5.0.58

Adds an HTTP request header. If the header field already exists, then it is replaced.

Returns true for success, false for failure.

public bool AddMwsSignature(string httpVerb, string uriPath, string domain, string mwsSecretKey);

Introduced in version 9.5.0.66

Computes the Amazon MWS signature using the mwsSecretKey and adds the "Signature" parameter to the request. This method should be called for all Amazon Marketplace Web Service (Amazon MWS) HTTP requests. It should be called after all request parameters have been added.

The domain should be the domain of the request, such as one of the following:

  • mws.amazonservices.com
  • mws-eu.amazonservices.com
  • mws.amazonservices.in
  • mws.amazonservices.com.cn
  • mws.amazonservices.jp

The httpVerb should be the HTTP verb, such as "GET", "POST", etc. The uriPath is the URI path, such as "/Feeds/2009-01-01". In general, the httpVerb and uriPath should be identical to the 1st two args passed to methods such as FullRequestFormUrlEncoded.

Note: This method also automatically adds or replaces the existing Timestamp parameter to the current system date/time.

Returns true for success, false for failure.

(C#) MWS List Orders (Amazon Marketplace Web Service)

(Mono C#) MWS List Orders (Amazon Marketplace Web Service)

(.NET Core C#) MWS List Orders (Amazon Marketplace Web Service)

(PowerShell) MWS List Orders (Amazon Marketplace Web Service)

public bool AddPathParam(string name, string value);

Introduced in version 9.5.0.70

Adds or replaces a path parameter. A path parameter is a string that will be replaced in any uriPath string passed to a method. For example, if name is "fileId" and value is "1R_70heIyzIAu1_u0prXbYcaIiJRVkgBl", then a uriPath argument of "/drive/v3/files/fileId" will be transformed to "/drive/v3/files/1R_70heIyzIAu1_u0prXbYcaIiJRVkgBl" in a method call.

Returns true for success, false for failure.

public bool AddQueryParam(string name, string value);

Introduced in version 9.5.0.58

Adds a query parameter. If the query parameter already exists, then it is replaced.

Returns true for success, false for failure.

public bool AddQueryParams(string queryString);

Introduced in version 9.5.0.58

Adds the query parameters from the queryString. The queryString is a query string of the format field1=value1&field2=value2&field3=value3... where each value is URL encoded.

Returns true for success, false for failure.

public bool AddQueryParamSb(string name, StringBuilder value);

Introduced in version 9.5.0.62

Adds a query parameter. If the query parameter already exists, then it is replaced. The parameter value is passed in a StringBuilder object.

Returns true for success, false for failure.

public bool ClearAllHeaders();

Introduced in version 9.5.0.58

Removes all HTTP request headers.

Returns true for success, false for failure.

public bool ClearAllParts();

Introduced in version 9.5.0.64

Removes all sub-parts from a request. This is useful when preparing the REST object to send a new request after a multipart request has just been sent.

Returns true for success, false for failure.

(C#) REST Send multipart/form-data

(Mono C#) REST Send multipart/form-data

(.NET Core C#) REST Send multipart/form-data

(PowerShell) REST Send multipart/form-data

public bool ClearAllPathParams();

Introduced in version 9.5.0.70

Clears all path parameters.

Returns true for success, false for failure.

public bool ClearAllQueryParams();

Introduced in version 9.5.0.58

Clears all query parameters.

Returns true for success, false for failure.

public bool ClearAuth();

Introduced in version 9.5.0.69

Clears all authentication settings.

Returns true for success, false for failure.

public void ClearResponseBodyStream();

Introduced in version 9.5.0.58

Clears the response body stream set by calling SetResponseBodyStream.

public bool Connect(string hostname, int port, bool tls, bool autoReconnect);

Introduced in version 9.5.0.58

Establishes an initial connection to a REST server. The hostname can be a domain name or an IP address. Both IPv4 and IPv6 addresses are supported. The port is the port, which is typically 80 or 443. If SSL/TLS is required, then tls should be set to true. The autoReconnect indicates whether connection should automatically be established as needed for subsequent REST requests.

Note: This method is for simple connections that do not require any proxies (HTTP or SOCKS), or SSH tunneling. If a proxy, SSH tunnel, or any other advanced socket feature is required, the Chilkat Socket API can be used to establish the connection. The UseConnection method can then be called to use the pre-established socket connection.

Returns true for success, false for failure.

(C#) Simple REST Example

(Mono C#) Simple REST Example

(.NET Core C#) Simple REST Example

(PowerShell) Simple REST Example

(C#) REST Auto Reconnect for Multiple Requests

(Mono C#) REST Auto Reconnect for Multiple Requests

(.NET Core C#) REST Auto Reconnect for Multiple Requests

(PowerShell) REST Auto Reconnect for Multiple Requests

public Task ConnectAsync(string hostname, int port, bool tls, bool autoReconnect);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the Connect method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool Disconnect(int maxWaitMs);

Introduced in version 9.5.0.58

Closes the connection with the HTTP server if one is open. This method can be called to ensure the connection is closed. The maxWaitMs is the maximum time in milliseconds to wait for a clean close. If the connection is through an SSH tunnel, this closes the logical channel within the SSH tunnel, and not the connection with the SSH server itself.

Returns true for success, false for failure.

public Task DisconnectAsync(int maxWaitMs);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the Disconnect method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool FullRequestBd(string httpVerb, string uriPath, BinData binData, StringBuilder responseBody);

Introduced in version 9.5.0.64

Sends a complete REST request (header + binary body) and receives the full response. The binary body of the request is passed in binData. The response body is returned in responseBody (replacing whatever contents responseBody may have previously held).

Returns true for success, false for failure.

(C#) S3 Upload Binary File from BinData

(Mono C#) S3 Upload Binary File from BinData

(.NET Core C#) S3 Upload Binary File from BinData

(PowerShell) S3 Upload Binary File from BinData

public Task FullRequestBdAsync(string httpVerb, string uriPath, BinData binData, StringBuilder responseBody);

Introduced in version 9.5.0.64

Creates an asynchronous task to call the FullRequestBd method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public string FullRequestBinary(string httpVerb, string uriPath, byte[] bodyBytes);

Introduced in version 9.5.0.58

Sends a complete REST request (header + body) and receives the full response. It is assumed that the request body is binary, and the response body is a string (such as JSON or XML). The response body is returned.

This method is the equivalent of making the following calls in sequence: SendReqBinaryBody, ReadResponseHeader, ReadRespBodyString.

Returns null on failure

(C#) Put Blob: Upload Binary Data to Block Blob

(Mono C#) Put Blob: Upload Binary Data to Block Blob

(.NET Core C#) Put Blob: Upload Binary Data to Block Blob

(PowerShell) Put Blob: Upload Binary Data to Block Blob

public Task FullRequestBinaryAsync(string httpVerb, string uriPath, byte[] bodyBytes);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the FullRequestBinary method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public string FullRequestFormUrlEncoded(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Sends a complete application/x-www-form-urlencoded HTTP request and receives the full response. The request body is composed of the URL encoded query params. It is assumed that the response body is a string (such as JSON or XML). The response body is returned.

This method is the equivalent of making the following calls in sequence: SendReqFormUrlEncoded, ReadResponseHeader, ReadRespBodyString.

Returns null on failure

(C#) Twilio: Send SMS using Basic Authentication

(Mono C#) Twilio: Send SMS using Basic Authentication

(.NET Core C#) Twilio: Send SMS using Basic Authentication

(PowerShell) Twilio: Send SMS using Basic Authentication

public Task FullRequestFormUrlEncodedAsync(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the FullRequestFormUrlEncoded method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public string FullRequestMultipart(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Sends a complete multipart REST request (header + multipart body) and receives the full response. It is assumed that the response body is a string (such as JSON or XML). The response body is returned.

This method is the equivalent of making the following calls in sequence: SendReqMultipart, ReadResponseHeader, ReadRespBodyString.

Returns null on failure

(C#) Google Drive Multipart Upload String (Google Drive)

(Mono C#) Google Drive Multipart Upload String (Google Drive)

(.NET Core C#) Google Drive Multipart Upload String (Google Drive)

(PowerShell) Google Drive Multipart Upload String (Google Drive)

public Task FullRequestMultipartAsync(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the FullRequestMultipart method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public string FullRequestNoBody(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Sends a complete REST request and receives the full response. It is assumed that the response body is a string (such as JSON or XML). The response body is returned.

This method is the equivalent of making the following calls in sequence: SendReqNoBody, ReadResponseHeader, ReadRespBodyString.

Returns null on failure

(C#) Simple REST Example

(Mono C#) Simple REST Example

(.NET Core C#) Simple REST Example

(PowerShell) Simple REST Example

(C#) Geolocation of IP Address

(Mono C#) Geolocation of IP Address

(.NET Core C#) Geolocation of IP Address

(PowerShell) Geolocation of IP Address

public Task FullRequestNoBodyAsync(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the FullRequestNoBody method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool FullRequestNoBodyBd(string httpVerb, string uriPath, BinData binData);

Introduced in version 9.5.0.64

The same as FullRequestNoBody, except returns the response body in the binData. This method is useful for downloading binary files.

Returns true for success, false for failure.

(C#) Xero Get File Content (Files API)

(Mono C#) Xero Get File Content (Files API)

(.NET Core C#) Xero Get File Content (Files API)

(PowerShell) Xero Get File Content (Files API)

public Task FullRequestNoBodyBdAsync(string httpVerb, string uriPath, BinData binData);

Introduced in version 9.5.0.64

Creates an asynchronous task to call the FullRequestNoBodyBd method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool FullRequestNoBodySb(string httpVerb, string uriPath, StringBuilder sb);

Introduced in version 9.5.0.64

The same as FullRequestNoBody, except returns the response body in the sb.

Returns true for success, false for failure.

(C#) Xero Get Accounts using REST API

(Mono C#) Xero Get Accounts using REST API

(.NET Core C#) Xero Get Accounts using REST API

(PowerShell) Xero Get Accounts using REST API

public Task FullRequestNoBodySbAsync(string httpVerb, string uriPath, StringBuilder sb);

Introduced in version 9.5.0.64

Creates an asynchronous task to call the FullRequestNoBodySb method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool FullRequestSb(string httpVerb, string uriPath, StringBuilder requestBody, StringBuilder responseBody);

Introduced in version 9.5.0.62

Sends a complete REST request (header + body string) and receives the full response. The body of the request is passed in requestBody. The response body is returned in responseBody (replacing whatever contents responseBody may have previously held).

Returns true for success, false for failure.

public Task FullRequestSbAsync(string httpVerb, string uriPath, StringBuilder requestBody, StringBuilder responseBody);

Introduced in version 9.5.0.62

Creates an asynchronous task to call the FullRequestSb method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public string FullRequestStream(string httpVerb, string uriPath, Stream stream);

Introduced in version 9.5.0.58

Sends a complete REST request and receives the full response. It is assumed that the response body is a string (such as JSON or XML). The response body is returned.

This method is the equivalent of making the following calls in sequence: SendReqStream, ReadResponseHeader, ReadRespBodyString.

Returns null on failure

(C#) REST File Streaming Upload

(Mono C#) REST File Streaming Upload

(.NET Core C#) REST File Streaming Upload

(PowerShell) REST File Streaming Upload

(C#) AWS S3 File Streaming Upload

(Mono C#) AWS S3 File Streaming Upload

(.NET Core C#) AWS S3 File Streaming Upload

(PowerShell) AWS S3 File Streaming Upload

(C#) REST Asynchronous Streaming Upload Simplified

(Mono C#) REST Asynchronous Streaming Upload Simplified

(.NET Core C#) REST Asynchronous Streaming Upload Simplified

(PowerShell) REST Asynchronous Streaming Upload Simplified

public Task FullRequestStreamAsync(string httpVerb, string uriPath, Stream stream);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the FullRequestStream method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public string FullRequestString(string httpVerb, string uriPath, string bodyText);

Introduced in version 9.5.0.58

Sends a complete REST request (header + body string) and receives the full response. It is assumed that both the request and response bodies are strings (such as JSON or XML). The response body is returned.

This method is the equivalent of making the following calls in sequence: SendReqStringBody, ReadResponseHeader, ReadRespBodyString.

Returns null on failure

(C#) Send JSON REST Request, Get JSON Response

(Mono C#) Send JSON REST Request, Get JSON Response

(.NET Core C#) Send JSON REST Request, Get JSON Response

(PowerShell) Send JSON REST Request, Get JSON Response

(C#) REST Upload String

(Mono C#) REST Upload String

(.NET Core C#) REST Upload String

(PowerShell) REST Upload String

public Task FullRequestStringAsync(string httpVerb, string uriPath, string bodyText);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the FullRequestString method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool ReadRespBd(BinData responseBody);

Introduced in version 9.5.0.62

Reads the response body. Should only be called after ReadResponseHeader has been called, and should only be called when it is already known that the response body is binary, such as for JPG images or other non-text binary file types. The response body is received into responseBody (replacing whatever contents responseBody may have previously held).

Returns true for success, false for failure.

public Task ReadRespBdAsync(BinData responseBody);

Introduced in version 9.5.0.62

Creates an asynchronous task to call the ReadRespBd method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public byte[] ReadRespBodyBinary();

Introduced in version 9.5.0.58

Reads the response body. Should only be called after ReadResponseHeader has been called, and should only be called when it is already known that the response body is binary, such as for JPG images or other non-text binary file types.

Returns an empty byte array on failure

(C#) REST Download Binary to Memory (Byte Array)

(Mono C#) REST Download Binary to Memory (Byte Array)

(.NET Core C#) REST Download Binary to Memory (Byte Array)

(PowerShell) REST Download Binary to Memory (Byte Array)

public Task ReadRespBodyBinaryAsync();

Introduced in version 9.5.0.58

Creates an asynchronous task to call the ReadRespBodyBinary method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool ReadRespBodyStream(Stream stream, bool autoSetStreamCharset);

Introduced in version 9.5.0.58

Reads the response body to the stream. If autoSetStreamCharset is true, then the stream's StringCharset property will automatically get set based on the charset, if any, indicated in the response header. If the response is binary, then autoSetStreamCharset is ignored.

Returns true for success, false for failure.

(C#) REST Stream Response to File (Streaming Download)

(Mono C#) REST Stream Response to File (Streaming Download)

(.NET Core C#) REST Stream Response to File (Streaming Download)

(PowerShell) REST Stream Response to File (Streaming Download)

(C#) REST Read Response with Stream API

(Mono C#) REST Read Response with Stream API

(.NET Core C#) REST Read Response with Stream API

(PowerShell) REST Read Response with Stream API

(C#) Firebase Receive Server-Sent Events (text/event-stream)

(Mono C#) Firebase Receive Server-Sent Events (text/event-stream)

(.NET Core C#) Firebase Receive Server-Sent Events (text/event-stream)

(PowerShell) Firebase Receive Server-Sent Events (text/event-stream)

(C#) HTTP POST and Stream Response to File

(Mono C#) HTTP POST and Stream Response to File

(.NET Core C#) HTTP POST and Stream Response to File

(PowerShell) HTTP POST and Stream Response to File

public Task ReadRespBodyStreamAsync(Stream stream, bool autoSetStreamCharset);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the ReadRespBodyStream method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public string ReadRespBodyString();

Introduced in version 9.5.0.58

Reads the response body. Should only be called after ReadResponseHeader has been called, and should only be called when it is already known that the response body will be a string (such as XML, JSON, etc.)

Returns null on failure

(C#) Lower-Level REST API Methods

(Mono C#) Lower-Level REST API Methods

(.NET Core C#) Lower-Level REST API Methods

(PowerShell) Lower-Level REST API Methods

public Task ReadRespBodyStringAsync();

Introduced in version 9.5.0.58

Creates an asynchronous task to call the ReadRespBodyString method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public int ReadResponseHeader();

Introduced in version 9.5.0.58

Reads the HTTP response header. If the HTTP response includes a body, then the application must call the desired method to read the response body. Otherwise, the HTTP request / response is finished after reading the response header (such as for a GET request). The contents of the response header are available in various properties and methods.

The HTTP response status code is returned (such as 200 for a typical success response). If an error occurred such that no response was received, then a value of -1 is returned.

(C#) Lower-Level REST API Methods

(Mono C#) Lower-Level REST API Methods

(.NET Core C#) Lower-Level REST API Methods

(PowerShell) Lower-Level REST API Methods

public Task ReadResponseHeaderAsync();

Introduced in version 9.5.0.58

Creates an asynchronous task to call the ReadResponseHeader method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool ReadRespSb(StringBuilder responseBody);

Introduced in version 9.5.0.62

Reads the response body. Should only be called after ReadResponseHeader has been called, and should only be called when it is already known that the response body will be a string (such as XML, JSON, etc.) The response body is stored in responseBody. (replacing whatever contents responseBody may have previously held).

Returns true for success, false for failure.

public Task ReadRespSbAsync(StringBuilder responseBody);

Introduced in version 9.5.0.62

Creates an asynchronous task to call the ReadRespSb method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public Url RedirectUrl();

Introduced in version 9.5.0.58

If the response was a redirect and contains a Location header field, this method returns the redirect URL.

Returns null on failure

public bool RemoveHeader(string name);

Introduced in version 9.5.0.58

Removes all headers having the given name.

Returns true for success, false for failure.

public bool RemoveQueryParam(string name);

Introduced in version 9.5.0.58

Removes all query params having the given name.

Returns true for success, false for failure.

public string ResponseHdrByName(string name);

Introduced in version 9.5.0.58

Returns the value of the response header indicated by name.

Returns null on failure

(C#) Azure Storage: Create Container

(Mono C#) Azure Storage: Create Container

(.NET Core C#) Azure Storage: Create Container

(PowerShell) Azure Storage: Create Container

(C#) Download File from Dropbox into a String Variable

(Mono C#) Download File from Dropbox into a String Variable

(.NET Core C#) Download File from Dropbox into a String Variable

(PowerShell) Download File from Dropbox into a String Variable

(C#) Fetch S3 Object Metadata

(Mono C#) Fetch S3 Object Metadata

(.NET Core C#) Fetch S3 Object Metadata

(PowerShell) Fetch S3 Object Metadata

public string ResponseHdrName(int index);

Introduced in version 9.5.0.58

Returns the name of the Nth response header field. (Chilkat always uses 0-based indexing. The first header field is at index 0.)

Returns null on failure

(C#) Fetch S3 Object Metadata

(Mono C#) Fetch S3 Object Metadata

(.NET Core C#) Fetch S3 Object Metadata

(PowerShell) Fetch S3 Object Metadata

public string ResponseHdrValue(int index);

Introduced in version 9.5.0.58

Returns the value of the Nth response header field. (Chilkat always uses 0-based indexing. The first header field is at index 0.)

Returns null on failure

(C#) Fetch S3 Object Metadata

(Mono C#) Fetch S3 Object Metadata

(.NET Core C#) Fetch S3 Object Metadata

(PowerShell) Fetch S3 Object Metadata

public bool SaveLastError(string path);

Saves the last-error information (the contents of LastErrorXml) to an XML formatted file.

Returns true for success, false for failure.

public bool SendReqBd(string httpVerb, string uriPath, BinData body);

Introduced in version 9.5.0.62

Sends a REST request that cotnains a binary body. The httpVerb is the HTTP verb (also known as the HTTP method), such as "PUT". The uriPath is the path of the resource URI. The body contains the bytes of the HTTP request body.

Returns true for success, false for failure.

public Task SendReqBdAsync(string httpVerb, string uriPath, BinData body);

Introduced in version 9.5.0.62

Creates an asynchronous task to call the SendReqBd method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool SendReqBinaryBody(string httpVerb, string uriPath, byte[] body);

Introduced in version 9.5.0.58

Sends a REST request that cotnains a binary body. The httpVerb is the HTTP verb (also known as the HTTP method), such as "PUT". The uriPath is the path of the resource URI. The body contains the bytes of the HTTP request body.

Returns true for success, false for failure.

public Task SendReqBinaryBodyAsync(string httpVerb, string uriPath, byte[] body);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the SendReqBinaryBody method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool SendReqFormUrlEncoded(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Sends an application/x-www-form-urlencoded HTTP request where the body is composed of the URL encoded query params. The httpVerb is the HTTP verb (also known as the HTTP method), such as "POST". The uriPath is the path of the resource URI. If the Content-Type header was set, it is ignored and instead the Content-Type of the request will be "application/x-www-form-urlencoded".

Returns true for success, false for failure.

public Task SendReqFormUrlEncodedAsync(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the SendReqFormUrlEncoded method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool SendReqMultipart(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Sends a multipart REST request. The httpVerb is the HTTP verb (also known as the HTTP method), such as "GET". The uriPath is the path of the resource URI.

Returns true for success, false for failure.

public Task SendReqMultipartAsync(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the SendReqMultipart method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool SendReqNoBody(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Sends a REST request that cotnains no body. The httpVerb is the HTTP verb (also known as the HTTP method), such as "GET". The uriPath is the path of the resource URI.

Returns true for success, false for failure.

public Task SendReqNoBodyAsync(string httpVerb, string uriPath);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the SendReqNoBody method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool SendReqSb(string httpVerb, string uriPath, StringBuilder bodySb);

Introduced in version 9.5.0.62

Sends a REST request that cotnains a text body, such as XML or JSON. The httpVerb is the HTTP verb (also known as the HTTP method), such as "PUT". The uriPath is the path of the resource URI. The bodySb contains the text of the HTTP request body.

Returns true for success, false for failure.

public Task SendReqSbAsync(string httpVerb, string uriPath, StringBuilder bodySb);

Introduced in version 9.5.0.62

Creates an asynchronous task to call the SendReqSb method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool SendReqStreamBody(string httpVerb, string uriPath, Stream stream);

Introduced in version 9.5.0.58

Sends a REST request that cotnains a binary or text body that is obtained by reading from the stream. The httpVerb is the HTTP verb (also known as the HTTP method), such as "PUT". The uriPath is the path of the resource URI.

Returns true for success, false for failure.

(C#) REST Asynchronous Streaming Upload

(Mono C#) REST Asynchronous Streaming Upload

(.NET Core C#) REST Asynchronous Streaming Upload

(PowerShell) REST Asynchronous Streaming Upload

public Task SendReqStreamBodyAsync(string httpVerb, string uriPath, Stream stream);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the SendReqStreamBody method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool SendReqStringBody(string httpVerb, string uriPath, string bodyText);

Introduced in version 9.5.0.58

Sends a REST request that cotnains a text body, such as XML or JSON. The httpVerb is the HTTP verb (also known as the HTTP method), such as "PUT". The uriPath is the path of the resource URI. The bodyText contains the text of the HTTP request body.

Returns true for success, false for failure.

(C#) Lower-Level REST API Methods

(Mono C#) Lower-Level REST API Methods

(.NET Core C#) Lower-Level REST API Methods

(PowerShell) Lower-Level REST API Methods

public Task SendReqStringBodyAsync(string httpVerb, string uriPath, string bodyText);

Introduced in version 9.5.0.58

Creates an asynchronous task to call the SendReqStringBody method with the arguments provided. (Async methods are available starting in Chilkat v9.5.0.52.)

Note: Async method event callbacks happen in the background thread. Accessing and updating UI elements existing in the main thread may require special considerations.

Returns null on failure

(C#) How to Run an Asynchronous Task

(Mono C#) How to Run an Asynchronous Task

(.NET Core C#) How to Run an Asynchronous Task

(PowerShell) How to Run an Asynchronous Task

public bool SetAuthAws(AuthAws authProvider);

Introduced in version 9.5.0.58

Sets the authorization service provider for Amazon AWS REST requests. An application that sets an AWS authentication provider need not explicitly set the Authorization property. Each REST request is automatically signed and authenticated using the authProvider.

Returns true for success, false for failure.

(C#) REST through HTTP Proxy

(Mono C#) REST through HTTP Proxy

(.NET Core C#) REST through HTTP Proxy

(PowerShell) REST through HTTP Proxy

public bool SetAuthAzureAD(AuthAzureAD authProvider);

Introduced in version 9.5.0.58

Sets the Azure AD (Active Directory) authorization service provider.

Returns true for success, false for failure.

public bool SetAuthAzureSas(AuthAzureSAS authProvider);

Introduced in version 9.5.0.65

Provides the information for Azure SAS (Shared Access Signature) authorization. Calling this method will cause the "Authorization: SharedAccessSignature ..." header to be automatically added to all requests.

Returns true for success, false for failure.

(C#) Azure Service Bus - Create Queue

(Mono C#) Azure Service Bus - Create Queue

(.NET Core C#) Azure Service Bus - Create Queue

(PowerShell) Azure Service Bus - Create Queue

public bool SetAuthAzureStorage(AuthAzureStorage authProvider);

Introduced in version 9.5.0.58

Sets the authorization service provider for Azure Storage Service requests.

Returns true for success, false for failure.

(C#) Azure Storage Blob Simple Upload

(Mono C#) Azure Storage Blob Simple Upload

(.NET Core C#) Azure Storage Blob Simple Upload

(PowerShell) Azure Storage Blob Simple Upload

(C#) Azure Blob Service - List all Containers in a Storage Account

(Mono C#) Azure Blob Service - List all Containers in a Storage Account

(.NET Core C#) Azure Blob Service - List all Containers in a Storage Account

(PowerShell) Azure Blob Service - List all Containers in a Storage Account

public bool SetAuthBasic(string username, string password);

Introduced in version 9.5.0.58

Sets the username and password to be used for Basic authentication. This method should be called when Basic authentication is required. It should only be used with secure SSL/TLS connections. Calling this method will cause the "Authorization: Basic ..." header to be automatically added to all requests. In many cases, a REST API will support Basic authentication where the username is a client ID or account ID, and the password is a client secret or token.

Returns true for success, false for failure.

(C#) Twilio: Send SMS using Basic Authentication

(Mono C#) Twilio: Send SMS using Basic Authentication

(.NET Core C#) Twilio: Send SMS using Basic Authentication

(PowerShell) Twilio: Send SMS using Basic Authentication

public bool SetAuthBasicSecure(SecureString username, SecureString password);

Introduced in version 9.5.0.71

The same as SetAuthBasic, but provides a more secure means for passing the arguments as secure string objects.

Returns true for success, false for failure.

(C#) REST Basic Auth with Secure Strings

(Mono C#) REST Basic Auth with Secure Strings

(.NET Core C#) REST Basic Auth with Secure Strings

(PowerShell) REST Basic Auth with Secure Strings

public bool SetAuthGoogle(AuthGoogle authProvider);

Introduced in version 9.5.0.58

Sets the authorization service provider for Google API requests.

Returns true for success, false for failure.

public bool SetAuthOAuth1(OAuth1 authProvider, bool useQueryParams);

Introduced in version 9.5.0.58

Sets the authentication provider for REST API requests needing OAuth 1.0 (and OAuth 1.0a) authentication. If useQueryParams is true, then the OAuth1 authentication information and signature is passed in query parameters. Otherwise it is passed in an Authorization header.

Returns true for success, false for failure.

(C#) WooCommerce OAuth 1.0a “one-legged” Authentication

(Mono C#) WooCommerce OAuth 1.0a “one-legged” Authentication

(.NET Core C#) WooCommerce OAuth 1.0a “one-legged” Authentication

(PowerShell) WooCommerce OAuth 1.0a “one-legged” Authentication

public bool SetAuthOAuth2(OAuth2 authProvider);

Introduced in version 9.5.0.59

Sets the authentication provider for REST API requests needing standards-based OAuth 2.0 authentication. This is for the case where a desktop/native/mobile application will be popping up a web browser, or embedding a web browser, to get authorization interactively from end-user of the application.

Returns true for success, false for failure.

public bool SetMultipartBodyBd(BinData bodyData);

Introduced in version 9.5.0.62

Only used for multipart requests. Sets the binary content of the multipart body indicated by the PartSelector.

Returns true for success, false for failure.

(C#) REST Send multipart/form-data

(Mono C#) REST Send multipart/form-data

(.NET Core C#) REST Send multipart/form-data

(PowerShell) REST Send multipart/form-data

public bool SetMultipartBodyBinary(byte[] bodyData);

Introduced in version 9.5.0.58

Only used for multipart requests. Sets the binary content of the multipart body indicated by the PartSelector.

Returns true for success, false for failure.

public bool SetMultipartBodySb(StringBuilder bodySb);

Introduced in version 9.5.0.62

Only used for multipart requests. Sets the text content of the multipart body indicated by the PartSelector.

Returns true for success, false for failure.

(C#) REST Send multipart/form-data

(Mono C#) REST Send multipart/form-data

(.NET Core C#) REST Send multipart/form-data

(PowerShell) REST Send multipart/form-data

public bool SetMultipartBodyStream(Stream stream);

Introduced in version 9.5.0.58

Only used for multipart requests. Sets the stream source of the multipart body indicated by the PartSelector.

Returns true for success, false for failure.

public bool SetMultipartBodyString(string bodyText);

Introduced in version 9.5.0.58

Only used for multipart requests. Sets the text content of the multipart body indicated by the PartSelector.

Returns true for success, false for failure.

public bool SetResponseBodyStream(int expectedStatus, bool autoSetStreamCharset, Stream responseStream);

Introduced in version 9.5.0.58

Only applies to the Full* methods, such as FullRequestNoBody, FullRequestBinary, FullRequestStream, etc. When set, the response body is streamed directly to responseStream, if (and only if) the HTTP response status code equals expectedStatus.

If the response body was streamed to responseStream, then the string return value of the Full* method instead becomes "OK" for success. If an attempt was made to stream the response body but it failed, then "FAIL" is returned. If the response body was not streamed because the response status code was not equal to expectedStatus, then the returned string contains the server's error response.

If autoSetStreamCharset is true, then the expectedStatus's StringCharset property will automatically get set based on the charset, if any, indicated in the response header. If the response is binary, then autoSetStreamCharset is ignored.

Returns true for success, false for failure.

(C#) Download File from Dropbox

(Mono C#) Download File from Dropbox

(.NET Core C#) Download File from Dropbox

(PowerShell) Download File from Dropbox

public bool UseConnection(Socket connection, bool autoReconnect);

Introduced in version 9.5.0.58

Sets the connection to be used for sending the REST request. The connection should be an already-connected socket. It may be a TLS connection, an unencrypted connection, through an HTTP proxy, a SOCKS proxy, or even through SSH tunnels. All of the connection related functionality is handled by the Chilkat Socket API.

The autoReconnect indicates whether connection should automatically be established as needed for subsequent REST requests.

Important: The UseConnection method is provided as a means for handling more complicated connections -- such as connections through proxies, tunnels, etc. If your application is connecting directly to the HTTP server, then simply call this class's Connect method.

Returns true for success, false for failure.

(C#) Use Socket Object for the Connection

(Mono C#) Use Socket Object for the Connection

(.NET Core C#) Use Socket Object for the Connection

(PowerShell) Use Socket Object for the Connection

(C#) REST through HTTP Proxy

(Mono C#) REST through HTTP Proxy

(.NET Core C#) REST through HTTP Proxy

(PowerShell) REST through HTTP Proxy

(C#) REST through SOCKS Proxy

(Mono C#) REST through SOCKS Proxy

(.NET Core C#) REST through SOCKS Proxy

(PowerShell) REST through SOCKS Proxy

(C#) REST through SSH Tunnel

(Mono C#) REST through SSH Tunnel

(.NET Core C#) REST through SSH Tunnel

(PowerShell) REST through SSH Tunnel

(C#) REST Upload Bandwidth Throttle

(Mono C#) REST Upload Bandwidth Throttle

(.NET Core C#) REST Upload Bandwidth Throttle

(PowerShell) REST Upload Bandwidth Throttle

Events

public event AbortCheckEventHandler OnAbortCheck;

Provides the opportunity for a method call to be aborted. The AbortCheck event is fired periodically based on the value of the HeartbeatMs property. If HeartbeatMs is 0, then no AbortCheck events will fire. As an example, to fire 5 AbortCheck events per second, set the HeartbeatMs property equal to 200.

Chilkat .NET Event Implementation

Args are passed using Chilkat.AbortCheckEventArgs

Event callback implementation:

private void rest_OnAbortCheck(object sender, Chilkat.AbortCheckEventArgs args)
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
rest.OnAbortCheck += rest_OnAbortCheck;

Chilkat Mono/.NET Core Event Implementation

Event callback implementation:

private void handleAbortCheckEventHandler OnhandleAbortCheck
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
// ...
Chilkat.Rest.AbortCheck abortCheck = new Chilkat.Rest.AbortCheck(handleAbortCheck);
rest.setAbortCheckCb(abortCheck);

public event BinaryDataEventHandler OnBinaryData;

Binary data provided by certain methods.

Chilkat .NET Event Implementation

Args are passed using Chilkat.BinaryDataEventArgs

Event callback implementation:

private void rest_OnBinaryData(object sender, Chilkat.BinaryDataEventArgs args)
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
rest.OnBinaryData += rest_OnBinaryData;

Chilkat Mono/.NET Core Event Implementation

Event callback implementation:

private void handleBinaryDataEventHandler OnhandleBinaryData
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
// ...
Chilkat.Rest.BinaryData binaryData = new Chilkat.Rest.BinaryData(handleBinaryData);
rest.setBinaryDataCb(binaryData);

public event PercentDoneEventHandler OnPercentDone;

Provides the percentage completed for any method that involves network communications or time-consuming processing (assuming it is a method where a percentage completion can be measured). This event is only fired when it is possible to know a percentage completion, and when it makes sense to express the operation as a percentage completed. The pctDone argument will have a value from 1 to 100. For operations (Chilkat method calls) that complete very quickly, the number of PercentDone callbacks will vary, but the final callback should have a value of 100. For long running operations, no more than one callback per percentage point will occur (for example: 1, 2, 3, ... 98, 99, 100).

The PercentDone callback counts as an AbortCheck event. For method calls that complete quickly such that PercentDone events fire, it may be that AbortCheck events don't fire because the opportunity to abort is already provided in the PercentDone callback. For time consuming operations, where the amount of time between PercentDone callbacks are long, AbortCheck callbacks may be used to allow for the operation to be aborted in a more responsive manner.

The abort output argument provides a means for aborting the operation. Setting it to true will cause the method to abort and return a failed status (or whatever return value indicates failure).

Chilkat .NET Event Implementation

Args are passed using Chilkat.PercentDoneEventArgs

Event callback implementation:

private void rest_OnPercentDone(object sender, Chilkat.PercentDoneEventArgs args)
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
rest.OnPercentDone += rest_OnPercentDone;

Chilkat Mono/.NET Core Event Implementation

Event callback implementation:

private void handlePercentDoneEventHandler OnhandlePercentDone
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
// ...
Chilkat.Rest.PercentDone percentDone = new Chilkat.Rest.PercentDone(handlePercentDone);
rest.setPercentDoneCb(percentDone);

public event ProgressInfoEventHandler OnProgressInfo;

A general name/value event that provides information about what is happening during a method call. To find out what information is available, write code to handle this event and log the name/value pairs. Most are self-explanatory.

Chilkat .NET Event Implementation

Args are passed using Chilkat.ProgressInfoEventArgs

Event callback implementation:

private void rest_OnProgressInfo(object sender, Chilkat.ProgressInfoEventArgs args)
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
rest.OnProgressInfo += rest_OnProgressInfo;

Chilkat Mono/.NET Core Event Implementation

Event callback implementation:

private void handleProgressInfoEventHandler OnhandleProgressInfo
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
// ...
Chilkat.Rest.ProgressInfo progressInfo = new Chilkat.Rest.ProgressInfo(handleProgressInfo);
rest.setProgressInfoCb(progressInfo);

public event TaskCompletedEventHandler OnTaskCompleted;

Called in the background thread when an asynchronous task completes.

C# TaskCompleted Event Callback Example

Chilkat .NET Event Implementation

Args are passed using Chilkat.TaskCompletedEventArgs

Event callback implementation:

private void rest_OnTaskCompleted(object sender, Chilkat.TaskCompletedEventArgs args)
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
rest.OnTaskCompleted += rest_OnTaskCompleted;

Chilkat Mono/.NET Core Event Implementation

Event callback implementation:

private void handleTaskIdCompletedEventHandler OnhandleTaskIdCompleted
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
// ...
Chilkat.Rest.TaskIdCompleted taskIdCompleted = new Chilkat.Rest.TaskIdCompleted(handleTaskIdCompleted);
rest.setTaskIdCompletedCb(taskIdCompleted);

public event TextDataEventHandler OnTextData;

Text data provided by certain methods.

Chilkat .NET Event Implementation

Args are passed using Chilkat.TextDataEventArgs

Event callback implementation:

private void rest_OnTextData(object sender, Chilkat.TextDataEventArgs args)
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
rest.OnTextData += rest_OnTextData;

Chilkat Mono/.NET Core Event Implementation

Event callback implementation:

private void handleTextDataEventHandler OnhandleTextData
	{
	    // application code goes here.
	}

To add an event handler:

Chilkat.Rest rest = new Chilkat.Rest();
// ...
Chilkat.Rest.TextData textData = new Chilkat.Rest.TextData(handleTextData);
rest.setTextDataCb(textData);