text:
<?xml version="1.0" encoding="utf-8"?>
<doc>
  <assembly>
    <name>SimpleRESTServices</name>
  </assembly>
  <members>
    <member name="T:JSIStudios.SimpleRESTServices.Client.HttpHeader">
      <summary>
            Represents a single header included with an HTTP response.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.HttpHeader.#ctor(System.String,System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.HttpHeader" /> class using the specified
            key and value.
            </summary>
      <param name="key">The HTTP header key.</param>
      <param name="value">The HTTP header value.</param>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="key" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="value" /> is <c>null</c>.</para></exception>
      <exception cref="T:System.ArgumentException">If <paramref name="key" /> is empty.</exception>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.HttpHeader.Key">
      <summary>
            Gets the HTTP header key.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.HttpHeader.Value">
      <summary>
            Gets the HTTP header value.
            </summary>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.HttpMethod">
      <summary>
            Represents the types of HTTP protocol methods that can be used with a REST request.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.GET">
      <summary>
            Represents an HTTP GET protocol method.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.POST">
      <summary>
            Represents an HTTP POST protocol method that is used to post a new entity
            as an addition to a URI.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.PUT">
      <summary>
            Represents an HTTP PUT protocol method that is used to replace an entity
            identified by a URI.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.DELETE">
      <summary>
            Represents an HTTP DELETE protocol method.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.HEAD">
      <summary>
            Represents an HTTP HEAD protocol method. The <see cref="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.HEAD" /> method is identical to
            <see cref="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.GET" /> except that the server only returns message-headers in the response,
            without a message-body.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.PATCH">
      <summary>
            Represents an HTTP PATCH protocol method.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.OPTIONS">
      <summary>
            Represents an HTTP OPTIONS protocol method.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.TRACE">
      <summary>
            Represents an HTTP TRACE protocol method.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.CONNECT">
      <summary>
            Represents the HTTP CONNECT protocol method that is used with a proxy that
            can dynamically switch to tunneling, as in the case of SSL tunneling.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.COPY">
      <summary>
            Represents an HTTP COPY protocol method.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.HttpMethod.MOVE">
      <summary>
            Represents an HTTP MOVE protocol method.
            </summary>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.IRestService">
      <summary>
            Represents a service for executing generic REST requests.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a string <paramref name="body" /> and strongly-typed result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The body of the request. This parameter is optional. If the value is <c>null</c>,
            the request is sent without a body.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.UriFormatException">If <paramref name="url" /> is not a valid base URI.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a string <paramref name="body" /> and basic result (text or no content).
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The body of the request. This parameter is optional. If the value is <c>null</c>,
            the request is sent without a body.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
            and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.UriFormatException">If <paramref name="url" /> is not a valid base URI.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a strongly-typed <paramref name="body" /> and basic result (text or no content).
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The strongly-typed data to include in the body of the request. If the value is <c>null</c>,
            the behavior is implementation-defined.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="TBody">The type of the data included in the body of the REST request.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
            and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.UriFormatException">If <paramref name="url" /> is not a valid base URI.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute``2(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``1,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a strongly-typed <paramref name="body" /> and result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The strongly-typed data to include in the body of the request. If the value is <c>null</c>,
            the behavior is implementation-defined.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <typeparam name="TBody">The type of the data included in the body of the REST request.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.UriFormatException">If <paramref name="url" /> is not a valid base URI.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.Func{System.Net.HttpWebResponse,System.Boolean,JSIStudios.SimpleRESTServices.Client.Response},System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a string <paramref name="body" /> and user-defined
            callback function for constructing the resulting <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="responseBuilderCallback">A user-specified function used to construct the resulting <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" />
            object from the <see cref="T:System.Net.HttpWebResponse" /> and a Boolean value specifying whether or not a <see cref="T:System.Net.WebException" />
            was thrown during the request. If this value is <c>null</c>, this method is equivalent to calling
            <see cref="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)" />.</param>
      <param name="body">The body of the request. If the value is <c>null</c>, the request is sent without a body.</param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. If the value is
            <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            If the value is <c>null</c>, no parameters are added to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. If the value is <c>null</c>, an implementation-specific
            set of default settings will be used for the request.
            </param>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
            and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a string <paramref name="body" /> and basic result (text or no content).
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The body of the request. This parameter is optional. If the value is <c>null</c>,
            the request is sent without a body.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
            and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a string <paramref name="body" /> and strongly-typed result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The body of the request. This parameter is optional. If the value is <c>null</c>,
            the request is sent without a body.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a strongly-typed <paramref name="body" /> and basic result (text or no content).
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The strongly-typed data to include in the body of the request. If the value is <c>null</c>,
            the behavior is implementation-defined.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="TBody">The type of the data included in the body of the REST request.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
            and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute``2(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``1,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a strongly-typed <paramref name="body" /> and result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The strongly-typed data to include in the body of the request. If the value is <c>null</c>,
            the behavior is implementation-defined.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <typeparam name="TBody">The type of the data included in the body of the REST request.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Stream``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})">
      <summary>
            Executes a REST request with a <see cref="T:System.IO.Stream" /><paramref name="content" /> and strongly-typed result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="content">A stream providing the body of the request.</param>
      <param name="bufferSize">
            The size of the buffer used for copying data from <paramref name="content" /> to the
            HTTP request stream.
            </param>
      <param name="maxReadLength">
            The maximum number of bytes to send with the request. This parameter is optional.
            If the value is 0, the request will include all data from <paramref name="content" />.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <param name="progressUpdated">
            A user-defined callback function for reporting progress of the send operation.
            This parameter is optional. If the value is <c>null</c>, the method does not report
            progress updates to the caller.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="url" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="content" /> is <c>null</c>.</para></exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="bufferSize" /> is less than or equal to zero.
            <para>-or-</para><para>If <paramref name="maxReadLength" /> is less than zero.</para></exception>
      <exception cref="T:System.UriFormatException">If <paramref name="url" /> is not a valid base URI.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})">
      <summary>
            Executes a REST request with a <see cref="T:System.IO.Stream" /><paramref name="content" /> and basic result (text or no content).
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="content">A stream providing the body of the request.</param>
      <param name="bufferSize">
            The size of the buffer used for copying data from <paramref name="content" /> to the
            HTTP request stream.
            </param>
      <param name="maxReadLength">
            The maximum number of bytes to send with the request. This parameter is optional.
            If the value is 0, the request will include all data from <paramref name="content" />.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <param name="progressUpdated">
            A user-defined callback function for reporting progress of the send operation.
            This parameter is optional. If the value is <c>null</c>, the method does not report
            progress updates to the caller.
            </param>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
            and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="url" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="content" /> is <c>null</c>.</para></exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="bufferSize" /> is less than or equal to zero.
            <para>-or-</para><para>If <paramref name="maxReadLength" /> is less than zero.</para></exception>
      <exception cref="T:System.UriFormatException">If <paramref name="url" /> is not a valid base URI.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Stream``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})">
      <summary>
            Executes a REST request with a <see cref="T:System.IO.Stream" /><paramref name="content" /> and strongly-typed result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="content">A stream providing the body of the request.</param>
      <param name="bufferSize">
            The size of the buffer used for copying data from <paramref name="content" /> to the
            HTTP request stream.
            </param>
      <param name="maxReadLength">
            The maximum number of bytes to send with the request. This parameter is optional.
            If the value is 0, the request will include all data from <paramref name="content" />.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <param name="progressUpdated">
            A user-defined callback function for reporting progress of the send operation.
            This parameter is optional. If the value is <c>null</c>, the method does not report
            progress updates to the caller.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="url" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="content" /> is <c>null</c>.</para></exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="bufferSize" /> is less than or equal to zero.
            <para>-or-</para><para>If <paramref name="maxReadLength" /> is less than zero.</para></exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IRestService.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})">
      <summary>
            Executes a REST request with a <see cref="T:System.IO.Stream" /><paramref name="content" /> and basic result (text or no content).
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="content">A stream providing the body of the request.</param>
      <param name="bufferSize">
            The size of the buffer used for copying data from <paramref name="content" /> to the
            HTTP request stream.
            </param>
      <param name="maxReadLength">
            The maximum number of bytes to send with the request. This parameter is optional.
            If the value is 0, the request will include all data from <paramref name="content" />.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <param name="progressUpdated">
            A user-defined callback function for reporting progress of the send operation.
            This parameter is optional. If the value is <c>null</c>, the method does not report
            progress updates to the caller.
            </param>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
            and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="url" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="content" /> is <c>null</c>.</para></exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="bufferSize" /> is less than or equal to zero.
            <para>-or-</para><para>If <paramref name="maxReadLength" /> is less than zero.</para></exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.IStringSerializer">
      <summary>
            This interface provides simple support for serializing and deserializing generic objects to and from strings.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IStringSerializer.Deserialize``1(System.String)">
      <summary>
            Deserializes an object from a string.
            </summary>
      <param name="content">The serialized representation of the object.</param>
      <typeparam name="T">The type of the object to deserialize.</typeparam>
      <returns>An instance of <typeparamref name="T" /> which <paramref name="content" /> describes.</returns>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">If <paramref name="content" /> could not be deserialized to an object of type <typeparamref name="T" />.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.IStringSerializer.Serialize``1(``0)">
      <summary>
            Serializes an object to a string.
            </summary>
      <param name="obj">The object to serialize</param>
      <typeparam name="T">The type of the object to serialize.</typeparam>
      <returns>A serialized string representation of <paramref name="obj" />.</returns>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">If <paramref name="obj" /> could not be serialized to a string.</exception>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.RequestRetryLogic">
      <summary>
             Provides a simple default implementation of <see cref="T:JSIStudios.SimpleRESTServices.Core.IRetryLogic`2" />
             for HTTP REST requests.
             </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RequestRetryLogic.#ctor">
      <summary>
        <markup>
          <include item="SMCAutoDocConstructor">
            <parameter>JSIStudios.SimpleRESTServices.Client.RequestRetryLogic</parameter>
          </include>
        </markup>
      </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RequestRetryLogic.Execute(System.Func{JSIStudios.SimpleRESTServices.Client.Response},System.Collections.Generic.IEnumerable{System.Net.HttpStatusCode},System.Int32,System.Nullable{System.TimeSpan})">
      <summary>
            Executes a user-defined operation with the specified "success" values, number of
            retry attempts if a failure occurs, and delay time between retry attempts.
            </summary>
      <param name="logic">The user-defined operation to execute.</param>
      <param name="successValues">A collection of values which are generally considered failures, but should be treated as success values for this call.</param>
      <param name="retryCount">The number of times to retry a failed operation. This parameter is optional. The default value is 1.</param>
      <param name="retryDelay">The delay between retry operations. This parameter is optional. If the value is <c>null</c>, the default is <see cref="F:System.TimeSpan.Zero" /> (no delay).</param>
      <param name="callback">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>callback</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RequestRetryLogic.Execute(System.Func{JSIStudios.SimpleRESTServices.Client.Response},System.Collections.Generic.IEnumerable{System.Net.HttpStatusCode},System.Int32,System.Nullable{System.TimeSpan})</parameter>
          </include>
        </markup>
      </param>
      <param name="non200SuccessCodes">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>non200SuccessCodes</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RequestRetryLogic.Execute(System.Func{JSIStudios.SimpleRESTServices.Client.Response},System.Collections.Generic.IEnumerable{System.Net.HttpStatusCode},System.Int32,System.Nullable{System.TimeSpan})</parameter>
          </include>
        </markup>
      </param>
      <returns>Returns the result of a successful execution of <paramref name="logic" />. If
            <paramref name="logic" /> failed and the maximum number of retries has been reached,
            the method returns the last (unsuccessful) result returned by <paramref name="logic" />.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="logic" /> is <c>null</c>.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="retryCount" /> is less than zero.
            <para>-or-</para><para>If <paramref name="retryDelay" /> is less than <see cref="F:System.TimeSpan.Zero" />.</para></exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RequestRetryLogic.Execute(System.Func{JSIStudios.SimpleRESTServices.Client.Response},System.Int32,System.Nullable{System.TimeSpan})">
      <summary>
            Executes a user-defined operation with the specified number of retry attempts
            if a failure occurs and delay time between retry attempts.
            </summary>
      <param name="logic">The user-defined operation to execute.</param>
      <param name="retryCount">The number of times to retry a failed operation. This parameter is optional. The default value is 1.</param>
      <param name="retryDelay">The delay between retry operations. This parameter is optional. If the value is <c>null</c>, the default is <see cref="F:System.TimeSpan.Zero" /> (no delay).</param>
      <param name="callback">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>callback</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RequestRetryLogic.Execute(System.Func{JSIStudios.SimpleRESTServices.Client.Response},System.Int32,System.Nullable{System.TimeSpan})</parameter>
          </include>
        </markup>
      </param>
      <returns>Returns the result of a successful execution of <paramref name="logic" />. If
            <paramref name="logic" /> failed and the maximum number of retries has been reached,
            the method returns the last (unsuccessful) result returned by <paramref name="logic" />.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="logic" /> is <c>null</c>.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="retryCount" /> is less than zero.
            <para>-or-</para><para>If <paramref name="retryDelay" /> is less than <see cref="F:System.TimeSpan.Zero" />.</para></exception>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.RequestSettings">
      <summary>
            Specifies the settings for an HTTP REST request.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RequestSettings.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.RequestSettings" /> class with the default values.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.Accept">
      <summary>
            Gets or sets the HTTP Accept header, which specifies the MIME types that are
            acceptable for the response. If this value is <c>null</c>, the Accept header
            is omitted from the request.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.AllowZeroContentLength">
      <summary>
             Gets or sets a value indicating whether or not 0 is a valid value for the Content-Length HTTP header
             for this request.
             </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.ChunkRequest">
      <summary>
            Gets or sets a value indicating whether to send data in segments to the
            Internet resource.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.ConnectionLimit">
      <summary>
            Gets or sets the maximum number of connections allowed on the <see cref="T:System.Net.ServicePoint" /> object
            used for the request. If the value is <c>null</c>, the connection limit value for the
            <see cref="T:System.Net.ServicePoint" /> object is not altered.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.ContentLength">
      <summary>
             Gets or sets the value of the Content-Length HTTP header.
             </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.ContentType">
      <summary>
            Gets or sets the value of the Content-Type HTTP header. If this value is
            <c>null</c>, the Content-Type header is omitted from the request.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.Credentials">
      <summary>
            Gets or sets the credentials to use for this request. This value can be
            <c>null</c> if credentials are not specified.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.ExtendedLoggingData">
      <summary>
            Gets or sets a user-defined collection to pass as the final argument to the
            <see cref="M:JSIStudios.SimpleRESTServices.Core.IRequestLogger.Log(JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.String,JSIStudios.SimpleRESTServices.Client.Response,System.DateTimeOffset,System.DateTimeOffset,System.Collections.Generic.Dictionary{System.String,System.String})" /> callback method.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.Non200SuccessCodes">
      <summary>
            Gets or sets the set of HTTP status codes greater than or equal to 300 which
            should be considered a successful result for this request. A value of
            <c>null</c> is allowed, and should be treated as an empty collection.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.ResponseActions">
      <summary>
             Gets or sets a map of user-defined actions to execute in response to specific
             HTTP status codes. A value of <c>null</c> is allowed, and should be treated as
             an empty collection.
             </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.RetryCount">
      <summary>
            Gets or sets the number of times this request should be retried if it fails.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.RetryDelay">
      <summary>
            Gets or sets the delay before retrying a failed request.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.Timeout">
      <summary>
            Gets or sets the request timeout.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.UserAgent">
      <summary>
            Gets or sets the value of the User-Agent HTTP header. If this value is <c>null</c>,
            the User-Agent header is omitted from the request.
            </summary>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.Response">
      <summary>
            Represents the basic response of an HTTP REST request, where the body of the response
            is stored as a text string.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Response.#ctor(System.Net.HttpStatusCode,System.Collections.Generic.IList{JSIStudios.SimpleRESTServices.Client.HttpHeader},System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> class with the given HTTP status code,
            headers, and raw body.
            </summary>
      <param name="statusCode">The HTTP status code.</param>
      <param name="headers">A collection of all HTTP headers included with this response.</param>
      <param name="rawBody">
            The raw body of this HTTP response as a text string. When included in the response, this
            value should be loaded with the encoding specified in the Content-Encoding and/or
            Content-Type HTTP headers.
            </param>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Response.#ctor(System.Net.HttpStatusCode,System.String,System.Collections.Generic.IList{JSIStudios.SimpleRESTServices.Client.HttpHeader},System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> class with the given HTTP status code,
            status, headers, and raw body.
            </summary>
      <param name="responseCode">The HTTP status code.</param>
      <param name="status">A string representation of the HTTP status code.</param>
      <param name="headers">A collection of all HTTP headers included with this response.</param>
      <param name="rawBody">
            The raw body of this HTTP response as a text string. When included in the response, this
            value should be loaded with the encoding specified in the Content-Encoding and/or
            Content-Type HTTP headers.
            </param>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.Response.Headers">
      <summary>
            Gets a collection of all HTTP headers included with this response.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.Response.RawBody">
      <summary>
            Gets the raw body of this HTTP response as a text string.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.Response.Status">
      <summary>
            Gets a string representation of the HTTP status code for this response.
            </summary>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.Response.StatusCode">
      <summary>
            Gets the HTTP status code for this response.
            </summary>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.Response`1">
      <summary>
            Extends <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> to include a strongly-typed return value
            from the response.
            </summary>
      <typeparam name="T">The type of the data included with the response.</typeparam>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Response`1.#ctor(JSIStudios.SimpleRESTServices.Client.Response,`0)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> class by adding a strongly-typed
            data value to a base response.
            </summary>
      <param name="baseResponse">The base response.</param>
      <param name="data">The strongly-typed data representation of the value returned with this response.</param>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Response`1.#ctor(System.Net.HttpStatusCode,System.String,`0,System.Collections.Generic.IList{JSIStudios.SimpleRESTServices.Client.HttpHeader},System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> class with the given HTTP status code,
            status, strongly-type data, headers, and raw body.
            </summary>
      <param name="responseCode">The HTTP status code.</param>
      <param name="status">A string representation of the HTTP status code.</param>
      <param name="data">The strongly-typed data representation of the value returned with this response.</param>
      <param name="headers">A collection of all HTTP headers included with this response.</param>
      <param name="rawBody">
            The raw body of this HTTP response as a text string. When included in the response, this
            value should be loaded with the encoding specified in the Content-Encoding and/or
            Content-Type HTTP headers.
            </param>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Response`1.#ctor(System.Net.HttpStatusCode,`0,System.Collections.Generic.IList{JSIStudios.SimpleRESTServices.Client.HttpHeader},System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> class with the given HTTP status code,
            strongly-type data, headers, and raw body.
            </summary>
      <param name="statusCode">The HTTP status code.</param>
      <param name="data">The strongly-typed data representation of the value returned with this response.</param>
      <param name="headers">A collection of all HTTP headers included with this response.</param>
      <param name="rawBody">
            The raw body of this HTTP response as a text string. When included in the response, this
            value should be loaded with the encoding specified in the Content-Encoding and/or
            Content-Type HTTP headers.
            </param>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.Response`1.Data">
      <summary>
            Gets the strongly-typed representation of the value included with this response.
            </summary>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.RestServiceBase">
      <summary>
            Implements basic support for <see cref="T:JSIStudios.SimpleRESTServices.Client.IRestService" /> in terms of an implementation
            of <see cref="T:JSIStudios.SimpleRESTServices.Core.IRetryLogic`2" />, <see cref="T:JSIStudios.SimpleRESTServices.Core.IRequestLogger" />,
            <see cref="T:JSIStudios.SimpleRESTServices.Core.IUrlBuilder" />, and <see cref="T:JSIStudios.SimpleRESTServices.Client.IStringSerializer" />.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.#ctor(JSIStudios.SimpleRESTServices.Client.IStringSerializer)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.RestServiceBase" /> class with the specified string serializer
            and the default retry logic and URL builder.
            </summary>
      <param name="stringSerializer">The string serializer to use for requests from this service.</param>
      <exception cref="T:System.ArgumentNullException">If <paramref name="stringSerializer" /> is <c>null</c>.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.#ctor(JSIStudios.SimpleRESTServices.Client.IStringSerializer,JSIStudios.SimpleRESTServices.Core.IRequestLogger)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.RestServiceBase" /> class with the specified string serializer
            and logger, and the default retry logic and URL builder.
            </summary>
      <param name="stringSerializer">The string serializer to use for requests from this service.</param>
      <param name="requestLogger">The logger to use for requests. Specify <c>null</c> if requests do not need to be logged.</param>
      <exception cref="T:System.ArgumentNullException">If <paramref name="stringSerializer" /> is <c>null</c>.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.#ctor(JSIStudios.SimpleRESTServices.Client.IStringSerializer,JSIStudios.SimpleRESTServices.Core.IRequestLogger,JSIStudios.SimpleRESTServices.Core.IRetryLogic{JSIStudios.SimpleRESTServices.Client.Response,System.Net.HttpStatusCode},JSIStudios.SimpleRESTServices.Core.IUrlBuilder)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.RestServiceBase" /> class with the specified string serializer,
            logger, retry logic, and URI builder.
            </summary>
      <param name="stringSerializer">The string serializer to use for requests from this service.</param>
      <param name="logger">The logger to use for requests. Specify <c>null</c> if requests do not need to be logged.</param>
      <param name="retryLogic">The retry logic to use for REST operations.</param>
      <param name="urlBuilder">The URL builder to use for constructing URLs with query parameters.</param>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="stringSerializer" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="retryLogic" /> is <c>null</c>.</para><para>-or-</para><para>If <paramref name="urlBuilder" /> is <c>null</c>.</para></exception>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.RestServiceBase.DefaultRequestSettings">
      <summary>
            Gets the default <see cref="T:JSIStudios.SimpleRESTServices.Client.RequestSettings" /> to use for requests sent from this service.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a string <paramref name="body" /> and strongly-typed result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The body of the request. This parameter is optional. If the value is <c>null</c>,
            the request is sent without a body.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.UriFormatException">If <paramref name="url" /> is not a valid base URI.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
        <markup>
          <include item="SMCMissingTag">
            <parameter>summary</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </summary>
      <param name="url">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>url</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="method">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>method</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="body">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>body</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="headers">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>headers</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="queryStringParameters">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>queryStringParameters</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="settings">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>settings</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <returns>
        <markup>
          <include item="SMCMissingTag">
            <parameter>returns</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </returns>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
        <markup>
          <include item="SMCMissingTag">
            <parameter>summary</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </summary>
      <param name="url">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>url</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="method">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>method</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="body">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>body</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="headers">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>headers</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="queryStringParameters">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>queryStringParameters</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="settings">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>settings</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <typeparam name="TBody">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>typeparam</parameter>
            <parameter>TBody</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </typeparam>
      <returns>
        <markup>
          <include item="SMCMissingTag">
            <parameter>returns</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </returns>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``2(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,``1,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a strongly-typed <paramref name="body" /> and result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The strongly-typed data to include in the body of the request. If the value is <c>null</c>,
            the behavior is implementation-defined.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <typeparam name="TBody">The type of the data included in the body of the REST request.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.UriFormatException">If <paramref name="url" /> is not a valid base URI.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.Func{System.Net.HttpWebResponse,System.Boolean,JSIStudios.SimpleRESTServices.Client.Response},System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a string <paramref name="body" /> and user-defined
            callback function for constructing the resulting <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="responseBuilderCallback">A user-specified function used to construct the resulting <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" />
            object from the <see cref="T:System.Net.HttpWebResponse" /> and a Boolean value specifying whether or not a <see cref="T:System.Net.WebException" />
            was thrown during the request. If this value is <c>null</c>, this method is equivalent to calling
            <see cref="M:JSIStudios.SimpleRESTServices.Client.IRestService.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)" />.</param>
      <param name="body">The body of the request. If the value is <c>null</c>, the request is sent without a body.</param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. If the value is
            <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            If the value is <c>null</c>, no parameters are added to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. If the value is <c>null</c>, an implementation-specific
            set of default settings will be used for the request.
            </param>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
            and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
        <markup>
          <include item="SMCMissingTag">
            <parameter>summary</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </summary>
      <param name="url">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>url</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="method">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>method</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="body">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>body</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="headers">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>headers</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="queryStringParameters">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>queryStringParameters</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="settings">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>settings</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <returns>
        <markup>
          <include item="SMCMissingTag">
            <parameter>returns</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </returns>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a string <paramref name="body" /> and strongly-typed result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The body of the request. This parameter is optional. If the value is <c>null</c>,
            the request is sent without a body.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``2(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``1,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
            Executes a REST request with a strongly-typed <paramref name="body" /> and result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="body">
            The strongly-typed data to include in the body of the request. If the value is <c>null</c>,
            the behavior is implementation-defined.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <typeparam name="TBody">The type of the data included in the body of the REST request.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="url" /> is <c>null</c>.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)">
      <summary>
        <markup>
          <include item="SMCMissingTag">
            <parameter>summary</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </summary>
      <param name="url">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>url</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="method">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>method</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="body">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>body</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="headers">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>headers</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="queryStringParameters">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>queryStringParameters</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <param name="settings">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>settings</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </param>
      <typeparam name="TBody">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>typeparam</parameter>
            <parameter>TBody</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </typeparam>
      <returns>
        <markup>
          <include item="SMCMissingTag">
            <parameter>returns</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Execute``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,``0,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings)</parameter>
          </include>
        </markup>
      </returns>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.ExecuteRequest(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.Func{System.Net.HttpWebResponse,System.Boolean,JSIStudios.SimpleRESTServices.Client.Response},System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Func{System.Net.HttpWebRequest,System.String})">
      <summary>
             Executes a REST request indirectly via a callback function <paramref name="executeCallback" />,
             and using a user-defined callback function <paramref name="responseBuilderCallback" /> for
             constructing the resulting <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object.
             </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="responseBuilderCallback">A user-specified function used to construct the resulting <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" />
             object from the <see cref="T:System.Net.HttpWebResponse" /> and a Boolean value specifying whether or not a <see cref="T:System.Net.WebException" />
             was thrown during the request. If this value is <c>null</c>, a default method is used to construct
             the resulting <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object.</param>
      <param name="headers">
             A collection of custom HTTP headers to include with the request. If the value is
             <c>null</c>, no custom headers are added to the HTTP request.
             </param>
      <param name="queryStringParameters">
             A collection of parameters to add to the query string portion of the request URI.
             If the value is <c>null</c>, no parameters are added to the query string.
             </param>
      <param name="settings">
             The settings to use for the request. If the value is <c>null</c>, the default settings returned
             by <see cref="P:JSIStudios.SimpleRESTServices.Client.RestServiceBase.DefaultRequestSettings" /> will be used for the request.
             </param>
      <param name="executeCallback">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>executeCallback</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.ExecuteRequest(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.Func{System.Net.HttpWebResponse,System.Boolean,JSIStudios.SimpleRESTServices.Client.Response},System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Func{System.Net.HttpWebRequest,System.String})</parameter>
          </include>
        </markup>
      </param>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
             and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">
             If <paramref name="url" /> is <c>null</c>.
             <para>-or-</para><para>If <paramref name="executeCallback" /> is <c>null</c>.</para></exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})">
      <summary>
        <markup>
          <include item="SMCMissingTag">
            <parameter>summary</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </summary>
      <param name="url">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>url</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="method">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>method</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="content">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>content</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="bufferSize">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>bufferSize</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="maxReadLength">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>maxReadLength</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="headers">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>headers</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="queryStringParameters">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>queryStringParameters</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="settings">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>settings</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="progressUpdated">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>progressUpdated</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <returns>
        <markup>
          <include item="SMCMissingTag">
            <parameter>returns</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </returns>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream``1(System.String,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})">
      <summary>
            Executes a REST request with a <see cref="T:System.IO.Stream" /><paramref name="content" /> and strongly-typed result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="content">A stream providing the body of the request.</param>
      <param name="bufferSize">
            The size of the buffer used for copying data from <paramref name="content" /> to the
            HTTP request stream.
            </param>
      <param name="maxReadLength">
            The maximum number of bytes to send with the request. This parameter is optional.
            If the value is 0, the request will include all data from <paramref name="content" />.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <param name="progressUpdated">
            A user-defined callback function for reporting progress of the send operation.
            This parameter is optional. If the value is <c>null</c>, the method does not report
            progress updates to the caller.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="url" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="content" /> is <c>null</c>.</para></exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="bufferSize" /> is less than or equal to zero.
            <para>-or-</para><para>If <paramref name="maxReadLength" /> is less than zero.</para></exception>
      <exception cref="T:System.UriFormatException">If <paramref name="url" /> is not a valid base URI.</exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.Func{System.Net.HttpWebResponse,System.Boolean,JSIStudios.SimpleRESTServices.Client.Response},System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})">
      <summary>
            Executes a REST request with a <see cref="T:System.IO.Stream" /><paramref name="content" />
            and user-defined callback function for constructing the resulting <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" />
            object.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="responseBuilderCallback">A user-specified function used to construct the resulting <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" />
            object from the <see cref="T:System.Net.HttpWebResponse" /> and a Boolean value specifying whether or not a <see cref="T:System.Net.WebException" />
            was thrown during the request. If this value is <c>null</c>, this method is equivalent to calling
            <see cref="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})" />.</param>
      <param name="content">A stream providing the body of the request.</param>
      <param name="bufferSize">
            The size of the buffer used for copying data from <paramref name="content" /> to the
            HTTP request stream.
            </param>
      <param name="maxReadLength">
            The maximum number of bytes to send with the request. This parameter is optional.
            If the value is 0, the request will include all data from <paramref name="content" />.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <param name="progressUpdated">
            A user-defined callback function for reporting progress of the send operation.
            This parameter is optional. If the value is <c>null</c>, the method does not report
            progress updates to the caller.
            </param>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response" /> object containing the HTTP status code, headers,
            and body from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="url" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="content" /> is <c>null</c>.</para></exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="bufferSize" /> is less than or equal to zero.
            <para>-or-</para><para>If <paramref name="maxReadLength" /> is less than zero.</para></exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream``1(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})">
      <summary>
            Executes a REST request with a <see cref="T:System.IO.Stream" /><paramref name="content" /> and strongly-typed result.
            </summary>
      <param name="url">The base URI.</param>
      <param name="method">The HTTP method to use for the request.</param>
      <param name="content">A stream providing the body of the request.</param>
      <param name="bufferSize">
            The size of the buffer used for copying data from <paramref name="content" /> to the
            HTTP request stream.
            </param>
      <param name="maxReadLength">
            The maximum number of bytes to send with the request. This parameter is optional.
            If the value is 0, the request will include all data from <paramref name="content" />.
            </param>
      <param name="headers">
            A collection of custom HTTP headers to include with the request. This parameter is
            optional. If the value is <c>null</c>, no custom headers are added to the HTTP request.
            </param>
      <param name="queryStringParameters">
            A collection of parameters to add to the query string portion of the request URI.
            This parameter is optional. If the value is <c>null</c>, no parameters are added
            to the query string.
            </param>
      <param name="settings">
            The settings to use for the request. This parameters is optional. If the value is
            <c>null</c>, an implementation-specific set of default settings will be used for the request.
            </param>
      <param name="progressUpdated">
            A user-defined callback function for reporting progress of the send operation.
            This parameter is optional. If the value is <c>null</c>, the method does not report
            progress updates to the caller.
            </param>
      <typeparam name="T">The type of the data returned in the REST response.</typeparam>
      <returns>Returns a <see cref="T:JSIStudios.SimpleRESTServices.Client.Response`1" /> object containing the HTTP status code, headers, body,
            and strongly-typed data from the REST response.</returns>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="url" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="content" /> is <c>null</c>.</para></exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="bufferSize" /> is less than or equal to zero.
            <para>-or-</para><para>If <paramref name="maxReadLength" /> is less than zero.</para></exception>
      <exception cref="T:System.NotSupportedException">If <paramref name="method" /> is not supported by the service.</exception>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
            If the body of the response could not be deserialized to an object of type <typeparamref name="T" />.
            </exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})">
      <summary>
        <markup>
          <include item="SMCMissingTag">
            <parameter>summary</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </summary>
      <param name="url">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>url</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="method">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>method</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="content">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>content</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="bufferSize">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>bufferSize</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="maxReadLength">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>maxReadLength</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="headers">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>headers</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="queryStringParameters">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>queryStringParameters</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="settings">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>settings</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <param name="progressUpdated">
        <markup>
          <include item="SMCMissingParamTag">
            <parameter>param</parameter>
            <parameter>progressUpdated</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </param>
      <returns>
        <markup>
          <include item="SMCMissingTag">
            <parameter>returns</parameter>
            <parameter>M:JSIStudios.SimpleRESTServices.Client.RestServiceBase.Stream(System.Uri,JSIStudios.SimpleRESTServices.Client.HttpMethod,System.IO.Stream,System.Int32,System.Int64,System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.Dictionary{System.String,System.String},JSIStudios.SimpleRESTServices.Client.RequestSettings,System.Action{System.Int64})</parameter>
          </include>
        </markup>
      </returns>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.UrlBuilder">
      <summary>
            A simple, default implementation of a URI builder.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.UrlBuilder.#ctor">
      <summary>
        <markup>
          <include item="SMCAutoDocConstructor">
            <parameter>JSIStudios.SimpleRESTServices.Client.UrlBuilder</parameter>
          </include>
        </markup>
      </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.UrlBuilder.Build(System.String,System.Collections.Generic.Dictionary{System.String,System.String})">
      <summary>
            Constructs a complete URI for an HTTP request using a base URI and a
            collection of query string parameters.
            </summary>
      <param name="baseAbsoluteUrl">The base URI.</param>
      <param name="queryStringParameters">A collection of parameters to place in the URI query string,
            or <c>null</c> if there are no parameters.</param>
      <returns>A <see cref="T:System.Uri" /> constructed from <paramref name="baseAbsoluteUrl" /> and the specified
            <paramref name="queryStringParameters" />.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="baseAbsoluteUrl" /> is <c>null</c>.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.UrlBuilder.Build(System.Uri,System.Collections.Generic.Dictionary{System.String,System.String})">
      <summary>
            Constructs a complete URI for an HTTP request using a base URI and a
            collection of query string parameters.
            </summary>
      <param name="baseUrl">The base URI.</param>
      <param name="queryStringParameters">A collection of parameters to place in the URI query string,
            or <c>null</c> if there are no parameters.</param>
      <returns>A <see cref="T:System.Uri" /> constructed from <paramref name="baseUrl" /> and the specified
            <paramref name="queryStringParameters" />.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="baseUrl" /> is <c>null</c>.</exception>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.Json.JsonRequestSettings">
      <summary>
            Extends <see cref="T:JSIStudios.SimpleRESTServices.Client.RequestSettings" /> by setting the default <see cref="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.ContentType" />
            and <see cref="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.Accept" /> values to <c>application/json</c>.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Json.JsonRequestSettings.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Json.JsonRequestSettings" /> class with the default value
            <c>application/json</c> for <see cref="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.ContentType" /> and <see cref="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.Accept" />.
            </summary>
    </member>
    <member name="F:JSIStudios.SimpleRESTServices.Client.Json.JsonRequestSettings.JsonContentType">
      <summary>
            The content type (MIME type) for a JSON request or response.
            </summary>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.Json.JsonRestServices">
      <summary>
            An implementation of <see cref="T:JSIStudios.SimpleRESTServices.Client.IRestService" /> that uses JSON notation for
            the serialized representation of objects.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Json.JsonRestServices.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Json.JsonRestServices" /> class with the default
            JSON string serializer, retry logic, and URL builder.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Json.JsonRestServices.#ctor(JSIStudios.SimpleRESTServices.Core.IRequestLogger)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Json.JsonRestServices" /> class with the specified
            request logger and the default JSON string serializer and URL builder.
            </summary>
      <param name="requestLogger">The logger to use for requests. Specify <c>null</c> if requests do not need to be logged.</param>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Json.JsonRestServices.#ctor(JSIStudios.SimpleRESTServices.Core.IRequestLogger,JSIStudios.SimpleRESTServices.Core.IRetryLogic{JSIStudios.SimpleRESTServices.Client.Response,System.Net.HttpStatusCode},JSIStudios.SimpleRESTServices.Core.IUrlBuilder,JSIStudios.SimpleRESTServices.Client.IStringSerializer)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Json.JsonRestServices" /> class with the specified
            logger, retry logic, URI builder, and string serializer.
            </summary>
      <param name="logger">The logger to use for requests. Specify <c>null</c> if requests do not need to be logged.</param>
      <param name="retryLogic">The retry logic to use for REST operations.</param>
      <param name="urlBuilder">The URL builder to use for constructing URLs with query parameters.</param>
      <param name="stringSerializer">The string serializer to use for requests from this service.</param>
      <exception cref="T:System.ArgumentNullException">
            If <paramref name="retryLogic" /> is <c>null</c>.
            <para>-or-</para><para>If <paramref name="urlBuilder" /> is <c>null</c>.</para><para>-or-</para><para>If <paramref name="stringSerializer" /> is <c>null</c>.</para></exception>
    </member>
    <member name="P:JSIStudios.SimpleRESTServices.Client.Json.JsonRestServices.DefaultRequestSettings">
      <summary>
            Gets the default <see cref="T:JSIStudios.SimpleRESTServices.Client.RequestSettings" /> to use for requests sent from this service.
            </summary>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.Json.JsonStringSerializer">
      <summary>
            Provides a default implementation of <see cref="T:JSIStudios.SimpleRESTServices.Client.IStringSerializer" /> using JSON for
            the underlying serialized notation.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Json.JsonStringSerializer.#ctor">
      <summary>
        <markup>
          <include item="SMCAutoDocConstructor">
            <parameter>JSIStudios.SimpleRESTServices.Client.Json.JsonStringSerializer</parameter>
          </include>
        </markup>
      </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Json.JsonStringSerializer.Deserialize``1(System.String)">
      <summary>
            Deserializes an object from a string.
            </summary>
      <param name="content">The serialized representation of the object.</param>
      <typeparam name="T">The type of the object to deserialize.</typeparam>
      <returns>An instance of <typeparamref name="T" /> which <paramref name="content" /> describes.</returns>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">If <paramref name="content" /> could not be deserialized to an object of type <typeparamref name="T" />.</exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Json.JsonStringSerializer.Serialize``1(``0)">
      <summary>
            Serializes an object to a string.
            </summary>
      <param name="obj">The object to serialize</param>
      <typeparam name="T">The type of the object to serialize.</typeparam>
      <returns>A serialized string representation of <paramref name="obj" />.</returns>
      <exception cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">If <paramref name="obj" /> could not be serialized to a string.</exception>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException">
      <summary>
            The exception thrown when string serialization or deserialization fails.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException.#ctor(System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:JSIStudios.SimpleRESTServices.Client.Json.StringSerializationException" /> class
            with a reference to the inner exception that is the cause of this exception.
            </summary>
      <param name="innerException">The exception that is the cause of the current exception.
            If the <paramref name="innerException" /> parameter is not a null reference, the current
            exception is raised in a <b>catch</b> block that handles the inner exception.</param>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Core.IRequestLogger">
      <summary>
            Represents custom logging behavior for a REST request.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Core.IRequestLogger.Log(JSIStudios.SimpleRESTServices.Client.HttpMethod,System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.String,JSIStudios.SimpleRESTServices.Client.Response,System.DateTimeOffset,System.DateTimeOffset,System.Collections.Generic.Dictionary{System.String,System.String})">
      <summary>
            Logs a REST request along with its response.
            </summary>
      <param name="httpMethod">The <see cref="T:JSIStudios.SimpleRESTServices.Client.HttpMethod" /> used for the request.</param>
      <param name="uri">The complete URI, including the query string (if any).</param>
      <param name="requestHeaders">The set of custom headers sent with the request. This may be <c>null</c> if no custom headers were specified.</param>
      <param name="requestBody">The body of the request. This is <c>null</c> or empty if the request did not include a body.</param>
      <param name="response">The response.</param>
      <param name="requestStartTime">The request start time.</param>
      <param name="requestEndTime">The request end time.</param>
      <param name="extendedData">The user-defined extended data specified in <see cref="P:JSIStudios.SimpleRESTServices.Client.RequestSettings.ExtendedLoggingData" />.</param>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Core.IRetryLogic`2">
      <summary>
            Provides the behavior for executing a callback method with configurable success
            values, number of retries, and the retry delay.
            </summary>
      <typeparam name="T">The operation return type</typeparam>
      <typeparam name="T2">The type of the value used to represent the operation's success or failure</typeparam>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Core.IRetryLogic`2.Execute(System.Func{`0},System.Collections.Generic.IEnumerable{`1},System.Int32,System.Nullable{System.TimeSpan})">
      <summary>
            Executes a user-defined operation with the specified "success" values, number of
            retry attempts if a failure occurs, and delay time between retry attempts.
            </summary>
      <param name="logic">The user-defined operation to execute.</param>
      <param name="successValues">A collection of values which are generally considered failures, but should be treated as success values for this call.</param>
      <param name="retryCount">The number of times to retry a failed operation. This parameter is optional. The default value is 1.</param>
      <param name="retryDelay">The delay between retry operations. This parameter is optional. If the value is <c>null</c>, the default is <see cref="F:System.TimeSpan.Zero" /> (no delay).</param>
      <returns>Returns the result of a successful execution of <paramref name="logic" />. If
            <paramref name="logic" /> failed and the maximum number of retries has been reached,
            the method returns the last (unsuccessful) result returned by <paramref name="logic" />.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="logic" /> is <c>null</c>.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="retryCount" /> is less than zero.
            <para>-or-</para><para>If <paramref name="retryDelay" /> is less than <see cref="F:System.TimeSpan.Zero" />.</para></exception>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Core.IRetryLogic`2.Execute(System.Func{`0},System.Int32,System.Nullable{System.TimeSpan})">
      <summary>
            Executes a user-defined operation with the specified number of retry attempts
            if a failure occurs and delay time between retry attempts.
            </summary>
      <param name="logic">The user-defined operation to execute.</param>
      <param name="retryCount">The number of times to retry a failed operation. This parameter is optional. The default value is 1.</param>
      <param name="retryDelay">The delay between retry operations. This parameter is optional. If the value is <c>null</c>, the default is <see cref="F:System.TimeSpan.Zero" /> (no delay).</param>
      <returns>Returns the result of a successful execution of <paramref name="logic" />. If
            <paramref name="logic" /> failed and the maximum number of retries has been reached,
            the method returns the last (unsuccessful) result returned by <paramref name="logic" />.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="logic" /> is <c>null</c>.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
            If <paramref name="retryCount" /> is less than zero.
            <para>-or-</para><para>If <paramref name="retryDelay" /> is less than <see cref="F:System.TimeSpan.Zero" />.</para></exception>
    </member>
    <member name="T:JSIStudios.SimpleRESTServices.Core.IUrlBuilder">
      <summary>
            Represents a builder which can construct a complete URI for a GET or HEAD request
            from a base URI and a collection of query parameters.
            </summary>
    </member>
    <member name="M:JSIStudios.SimpleRESTServices.Core.IUrlBuilder.Build(System.Uri,System.Collections.Generic.Dictionary{System.String,System.String})">
      <summary>
            Constructs a complete URI for an HTTP request using a base URI and a
            collection of query string parameters.
            </summary>
      <param name="baseUrl">The base URI.</param>
      <param name="queryStringParameters">A collection of parameters to place in the URI query string,
            or <c>null</c> if there are no parameters.</param>
      <returns>A <see cref="T:System.Uri" /> constructed from <paramref name="baseUrl" /> and the specified
            <paramref name="queryStringParameters" />.</returns>
      <exception cref="T:System.ArgumentNullException">If <paramref name="baseUrl" /> is <c>null</c>.</exception>
    </member>
  </members>
</doc>