/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (https://www.swig.org).
 * Version 4.3.0
 *
 * Do not make changes to this file unless you know what you are doing - modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.chilkatsoft;

public class CkRest {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

  protected CkRest(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(CkRest obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected static long swigRelease(CkRest obj) {
    long ptr = 0;
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new RuntimeException("Cannot release ownership as memory is not owned");
      ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.delete();
    }
    return ptr;
  }

  @SuppressWarnings({"deprecation", "removal"})
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        chilkatJNI.delete_CkRest(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public CkRest() {
    this(chilkatJNI.new_CkRest(), true);
  }

  public void LastErrorXml(CkString str) {
    chilkatJNI.CkRest_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorHtml(CkString str) {
    chilkatJNI.CkRest_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorText(CkString str) {
    chilkatJNI.CkRest_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void put_EventCallbackObject(CkBaseProgress progress) {
    chilkatJNI.CkRest_put_EventCallbackObject(swigCPtr, this, CkBaseProgress.getCPtr(progress), progress);
  }

  public boolean get_AllowHeaderFolding() {
    return chilkatJNI.CkRest_get_AllowHeaderFolding(swigCPtr, this);
  }

  public void put_AllowHeaderFolding(boolean newVal) {
    chilkatJNI.CkRest_put_AllowHeaderFolding(swigCPtr, this, newVal);
  }

  public boolean get_AllowHeaderQB() {
    return chilkatJNI.CkRest_get_AllowHeaderQB(swigCPtr, this);
  }

  public void put_AllowHeaderQB(boolean newVal) {
    chilkatJNI.CkRest_put_AllowHeaderQB(swigCPtr, this, newVal);
  }

  public void get_Authorization(CkString str) {
    chilkatJNI.CkRest_get_Authorization(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String authorization() {
    return chilkatJNI.CkRest_authorization(swigCPtr, this);
  }

  public void put_Authorization(String newVal) {
    chilkatJNI.CkRest_put_Authorization(swigCPtr, this, newVal);
  }

  public int get_ConnectFailReason() {
    return chilkatJNI.CkRest_get_ConnectFailReason(swigCPtr, this);
  }

  public int get_ConnectTimeoutMs() {
    return chilkatJNI.CkRest_get_ConnectTimeoutMs(swigCPtr, this);
  }

  public void put_ConnectTimeoutMs(int newVal) {
    chilkatJNI.CkRest_put_ConnectTimeoutMs(swigCPtr, this, newVal);
  }

  public void get_DebugLogFilePath(CkString str) {
    chilkatJNI.CkRest_get_DebugLogFilePath(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String debugLogFilePath() {
    return chilkatJNI.CkRest_debugLogFilePath(swigCPtr, this);
  }

  public void put_DebugLogFilePath(String newVal) {
    chilkatJNI.CkRest_put_DebugLogFilePath(swigCPtr, this, newVal);
  }

  public boolean get_DebugMode() {
    return chilkatJNI.CkRest_get_DebugMode(swigCPtr, this);
  }

  public void put_DebugMode(boolean newVal) {
    chilkatJNI.CkRest_put_DebugMode(swigCPtr, this, newVal);
  }

  public int get_HeartbeatMs() {
    return chilkatJNI.CkRest_get_HeartbeatMs(swigCPtr, this);
  }

  public void put_HeartbeatMs(int newVal) {
    chilkatJNI.CkRest_put_HeartbeatMs(swigCPtr, this, newVal);
  }

  public void get_Host(CkString str) {
    chilkatJNI.CkRest_get_Host(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String host() {
    return chilkatJNI.CkRest_host(swigCPtr, this);
  }

  public void put_Host(String newVal) {
    chilkatJNI.CkRest_put_Host(swigCPtr, this, newVal);
  }

  public int get_IdleTimeoutMs() {
    return chilkatJNI.CkRest_get_IdleTimeoutMs(swigCPtr, this);
  }

  public void put_IdleTimeoutMs(int newVal) {
    chilkatJNI.CkRest_put_IdleTimeoutMs(swigCPtr, this, newVal);
  }

  public void get_LastErrorHtml(CkString str) {
    chilkatJNI.CkRest_get_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorHtml() {
    return chilkatJNI.CkRest_lastErrorHtml(swigCPtr, this);
  }

  public void get_LastErrorText(CkString str) {
    chilkatJNI.CkRest_get_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorText() {
    return chilkatJNI.CkRest_lastErrorText(swigCPtr, this);
  }

  public void get_LastErrorXml(CkString str) {
    chilkatJNI.CkRest_get_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorXml() {
    return chilkatJNI.CkRest_lastErrorXml(swigCPtr, this);
  }

  public boolean get_LastMethodSuccess() {
    return chilkatJNI.CkRest_get_LastMethodSuccess(swigCPtr, this);
  }

  public void put_LastMethodSuccess(boolean newVal) {
    chilkatJNI.CkRest_put_LastMethodSuccess(swigCPtr, this, newVal);
  }

  public void get_LastRedirectUrl(CkString str) {
    chilkatJNI.CkRest_get_LastRedirectUrl(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastRedirectUrl() {
    return chilkatJNI.CkRest_lastRedirectUrl(swigCPtr, this);
  }

  public void get_LastRequestHeader(CkString str) {
    chilkatJNI.CkRest_get_LastRequestHeader(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastRequestHeader() {
    return chilkatJNI.CkRest_lastRequestHeader(swigCPtr, this);
  }

  public void get_LastRequestStartLine(CkString str) {
    chilkatJNI.CkRest_get_LastRequestStartLine(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastRequestStartLine() {
    return chilkatJNI.CkRest_lastRequestStartLine(swigCPtr, this);
  }

  public int get_NumResponseHeaders() {
    return chilkatJNI.CkRest_get_NumResponseHeaders(swigCPtr, this);
  }

  public void get_PartSelector(CkString str) {
    chilkatJNI.CkRest_get_PartSelector(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String partSelector() {
    return chilkatJNI.CkRest_partSelector(swigCPtr, this);
  }

  public void put_PartSelector(String newVal) {
    chilkatJNI.CkRest_put_PartSelector(swigCPtr, this, newVal);
  }

  public boolean get_PercentDoneOnSend() {
    return chilkatJNI.CkRest_get_PercentDoneOnSend(swigCPtr, this);
  }

  public void put_PercentDoneOnSend(boolean newVal) {
    chilkatJNI.CkRest_put_PercentDoneOnSend(swigCPtr, this, newVal);
  }

  public void get_ResponseHeader(CkString str) {
    chilkatJNI.CkRest_get_ResponseHeader(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String responseHeader() {
    return chilkatJNI.CkRest_responseHeader(swigCPtr, this);
  }

  public int get_ResponseStatusCode() {
    return chilkatJNI.CkRest_get_ResponseStatusCode(swigCPtr, this);
  }

  public void get_ResponseStatusText(CkString str) {
    chilkatJNI.CkRest_get_ResponseStatusText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String responseStatusText() {
    return chilkatJNI.CkRest_responseStatusText(swigCPtr, this);
  }

  public boolean get_StreamNonChunked() {
    return chilkatJNI.CkRest_get_StreamNonChunked(swigCPtr, this);
  }

  public void put_StreamNonChunked(boolean newVal) {
    chilkatJNI.CkRest_put_StreamNonChunked(swigCPtr, this, newVal);
  }

  public void get_UncommonOptions(CkString str) {
    chilkatJNI.CkRest_get_UncommonOptions(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String uncommonOptions() {
    return chilkatJNI.CkRest_uncommonOptions(swigCPtr, this);
  }

  public void put_UncommonOptions(String newVal) {
    chilkatJNI.CkRest_put_UncommonOptions(swigCPtr, this, newVal);
  }

  public boolean get_VerboseLogging() {
    return chilkatJNI.CkRest_get_VerboseLogging(swigCPtr, this);
  }

  public void put_VerboseLogging(boolean newVal) {
    chilkatJNI.CkRest_put_VerboseLogging(swigCPtr, this, newVal);
  }

  public void get_Version(CkString str) {
    chilkatJNI.CkRest_get_Version(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String version() {
    return chilkatJNI.CkRest_version(swigCPtr, this);
  }

  public boolean AddHeader(String name, String value) {
    return chilkatJNI.CkRest_AddHeader(swigCPtr, this, name, value);
  }

  public boolean AddMwsSignature(String httpVerb, String uriPath, String domain, String mwsSecretKey) {
    return chilkatJNI.CkRest_AddMwsSignature(swigCPtr, this, httpVerb, uriPath, domain, mwsSecretKey);
  }

  public boolean AddPathParam(String name, String value) {
    return chilkatJNI.CkRest_AddPathParam(swigCPtr, this, name, value);
  }

  public boolean AddQueryParam(String name, String value) {
    return chilkatJNI.CkRest_AddQueryParam(swigCPtr, this, name, value);
  }

  public boolean AddQueryParams(String queryString) {
    return chilkatJNI.CkRest_AddQueryParams(swigCPtr, this, queryString);
  }

  public boolean AddQueryParamSb(String name, CkStringBuilder value) {
    return chilkatJNI.CkRest_AddQueryParamSb(swigCPtr, this, name, CkStringBuilder.getCPtr(value), value);
  }

  public boolean ClearAllHeaders() {
    return chilkatJNI.CkRest_ClearAllHeaders(swigCPtr, this);
  }

  public boolean ClearAllParts() {
    return chilkatJNI.CkRest_ClearAllParts(swigCPtr, this);
  }

  public boolean ClearAllPathParams() {
    return chilkatJNI.CkRest_ClearAllPathParams(swigCPtr, this);
  }

  public boolean ClearAllQueryParams() {
    return chilkatJNI.CkRest_ClearAllQueryParams(swigCPtr, this);
  }

  public boolean ClearAuth() {
    return chilkatJNI.CkRest_ClearAuth(swigCPtr, this);
  }

  public void ClearResponseBodyStream() {
    chilkatJNI.CkRest_ClearResponseBodyStream(swigCPtr, this);
  }

  public boolean Connect(String hostname, int port, boolean tls, boolean autoReconnect) {
    return chilkatJNI.CkRest_Connect(swigCPtr, this, hostname, port, tls, autoReconnect);
  }

  public CkTask ConnectAsync(String hostname, int port, boolean tls, boolean autoReconnect) {
    long cPtr = chilkatJNI.CkRest_ConnectAsync(swigCPtr, this, hostname, port, tls, autoReconnect);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean Disconnect(int maxWaitMs) {
    return chilkatJNI.CkRest_Disconnect(swigCPtr, this, maxWaitMs);
  }

  public CkTask DisconnectAsync(int maxWaitMs) {
    long cPtr = chilkatJNI.CkRest_DisconnectAsync(swigCPtr, this, maxWaitMs);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestBd(String httpVerb, String uriPath, CkBinData binData, CkStringBuilder responseBody) {
    return chilkatJNI.CkRest_FullRequestBd(swigCPtr, this, httpVerb, uriPath, CkBinData.getCPtr(binData), binData, CkStringBuilder.getCPtr(responseBody), responseBody);
  }

  public CkTask FullRequestBdAsync(String httpVerb, String uriPath, CkBinData binData, CkStringBuilder responseBody) {
    long cPtr = chilkatJNI.CkRest_FullRequestBdAsync(swigCPtr, this, httpVerb, uriPath, CkBinData.getCPtr(binData), binData, CkStringBuilder.getCPtr(responseBody), responseBody);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestBinary(String httpVerb, String uriPath, CkByteData bodyBytes, CkString outStr) {
    return chilkatJNI.CkRest_FullRequestBinary(swigCPtr, this, httpVerb, uriPath, CkByteData.getCPtr(bodyBytes), bodyBytes, CkString.getCPtr(outStr), outStr);
  }

  public String fullRequestBinary(String httpVerb, String uriPath, CkByteData bodyBytes) {
    return chilkatJNI.CkRest_fullRequestBinary(swigCPtr, this, httpVerb, uriPath, CkByteData.getCPtr(bodyBytes), bodyBytes);
  }

  public CkTask FullRequestBinaryAsync(String httpVerb, String uriPath, CkByteData bodyBytes) {
    long cPtr = chilkatJNI.CkRest_FullRequestBinaryAsync(swigCPtr, this, httpVerb, uriPath, CkByteData.getCPtr(bodyBytes), bodyBytes);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestFormUrlEncoded(String httpVerb, String uriPath, CkString outStr) {
    return chilkatJNI.CkRest_FullRequestFormUrlEncoded(swigCPtr, this, httpVerb, uriPath, CkString.getCPtr(outStr), outStr);
  }

  public String fullRequestFormUrlEncoded(String httpVerb, String uriPath) {
    return chilkatJNI.CkRest_fullRequestFormUrlEncoded(swigCPtr, this, httpVerb, uriPath);
  }

  public CkTask FullRequestFormUrlEncodedAsync(String httpVerb, String uriPath) {
    long cPtr = chilkatJNI.CkRest_FullRequestFormUrlEncodedAsync(swigCPtr, this, httpVerb, uriPath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestMultipart(String httpVerb, String uriPath, CkString outStr) {
    return chilkatJNI.CkRest_FullRequestMultipart(swigCPtr, this, httpVerb, uriPath, CkString.getCPtr(outStr), outStr);
  }

  public String fullRequestMultipart(String httpVerb, String uriPath) {
    return chilkatJNI.CkRest_fullRequestMultipart(swigCPtr, this, httpVerb, uriPath);
  }

  public CkTask FullRequestMultipartAsync(String httpVerb, String uriPath) {
    long cPtr = chilkatJNI.CkRest_FullRequestMultipartAsync(swigCPtr, this, httpVerb, uriPath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestNoBody(String httpVerb, String uriPath, CkString outStr) {
    return chilkatJNI.CkRest_FullRequestNoBody(swigCPtr, this, httpVerb, uriPath, CkString.getCPtr(outStr), outStr);
  }

  public String fullRequestNoBody(String httpVerb, String uriPath) {
    return chilkatJNI.CkRest_fullRequestNoBody(swigCPtr, this, httpVerb, uriPath);
  }

  public CkTask FullRequestNoBodyAsync(String httpVerb, String uriPath) {
    long cPtr = chilkatJNI.CkRest_FullRequestNoBodyAsync(swigCPtr, this, httpVerb, uriPath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestNoBodyBd(String httpVerb, String uriPath, CkBinData binData) {
    return chilkatJNI.CkRest_FullRequestNoBodyBd(swigCPtr, this, httpVerb, uriPath, CkBinData.getCPtr(binData), binData);
  }

  public CkTask FullRequestNoBodyBdAsync(String httpVerb, String uriPath, CkBinData binData) {
    long cPtr = chilkatJNI.CkRest_FullRequestNoBodyBdAsync(swigCPtr, this, httpVerb, uriPath, CkBinData.getCPtr(binData), binData);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestNoBodySb(String httpVerb, String uriPath, CkStringBuilder sb) {
    return chilkatJNI.CkRest_FullRequestNoBodySb(swigCPtr, this, httpVerb, uriPath, CkStringBuilder.getCPtr(sb), sb);
  }

  public CkTask FullRequestNoBodySbAsync(String httpVerb, String uriPath, CkStringBuilder sb) {
    long cPtr = chilkatJNI.CkRest_FullRequestNoBodySbAsync(swigCPtr, this, httpVerb, uriPath, CkStringBuilder.getCPtr(sb), sb);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestSb(String httpVerb, String uriPath, CkStringBuilder requestBody, CkStringBuilder responseBody) {
    return chilkatJNI.CkRest_FullRequestSb(swigCPtr, this, httpVerb, uriPath, CkStringBuilder.getCPtr(requestBody), requestBody, CkStringBuilder.getCPtr(responseBody), responseBody);
  }

  public CkTask FullRequestSbAsync(String httpVerb, String uriPath, CkStringBuilder requestBody, CkStringBuilder responseBody) {
    long cPtr = chilkatJNI.CkRest_FullRequestSbAsync(swigCPtr, this, httpVerb, uriPath, CkStringBuilder.getCPtr(requestBody), requestBody, CkStringBuilder.getCPtr(responseBody), responseBody);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestStream(String httpVerb, String uriPath, CkStream stream, CkString outStr) {
    return chilkatJNI.CkRest_FullRequestStream(swigCPtr, this, httpVerb, uriPath, CkStream.getCPtr(stream), stream, CkString.getCPtr(outStr), outStr);
  }

  public String fullRequestStream(String httpVerb, String uriPath, CkStream stream) {
    return chilkatJNI.CkRest_fullRequestStream(swigCPtr, this, httpVerb, uriPath, CkStream.getCPtr(stream), stream);
  }

  public CkTask FullRequestStreamAsync(String httpVerb, String uriPath, CkStream stream) {
    long cPtr = chilkatJNI.CkRest_FullRequestStreamAsync(swigCPtr, this, httpVerb, uriPath, CkStream.getCPtr(stream), stream);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FullRequestString(String httpVerb, String uriPath, String bodyText, CkString outStr) {
    return chilkatJNI.CkRest_FullRequestString(swigCPtr, this, httpVerb, uriPath, bodyText, CkString.getCPtr(outStr), outStr);
  }

  public String fullRequestString(String httpVerb, String uriPath, String bodyText) {
    return chilkatJNI.CkRest_fullRequestString(swigCPtr, this, httpVerb, uriPath, bodyText);
  }

  public CkTask FullRequestStringAsync(String httpVerb, String uriPath, String bodyText) {
    long cPtr = chilkatJNI.CkRest_FullRequestStringAsync(swigCPtr, this, httpVerb, uriPath, bodyText);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetLastDebugRequest(CkBinData bd) {
    return chilkatJNI.CkRest_GetLastDebugRequest(swigCPtr, this, CkBinData.getCPtr(bd), bd);
  }

  public void GetLastJsonData(CkJsonObject json) {
    chilkatJNI.CkRest_GetLastJsonData(swigCPtr, this, CkJsonObject.getCPtr(json), json);
  }

  public CkJsonObject LastJsonData() {
    long cPtr = chilkatJNI.CkRest_LastJsonData(swigCPtr, this);
    return (cPtr == 0) ? null : new CkJsonObject(cPtr, true);
  }

  public boolean LoadTaskCaller(CkTask task) {
    return chilkatJNI.CkRest_LoadTaskCaller(swigCPtr, this, CkTask.getCPtr(task), task);
  }

  public boolean ReadRespBd(CkBinData responseBody) {
    return chilkatJNI.CkRest_ReadRespBd(swigCPtr, this, CkBinData.getCPtr(responseBody), responseBody);
  }

  public CkTask ReadRespBdAsync(CkBinData responseBody) {
    long cPtr = chilkatJNI.CkRest_ReadRespBdAsync(swigCPtr, this, CkBinData.getCPtr(responseBody), responseBody);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ReadRespBodyBinary(CkByteData outBytes) {
    return chilkatJNI.CkRest_ReadRespBodyBinary(swigCPtr, this, CkByteData.getCPtr(outBytes), outBytes);
  }

  public CkTask ReadRespBodyBinaryAsync() {
    long cPtr = chilkatJNI.CkRest_ReadRespBodyBinaryAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ReadRespBodyStream(CkStream stream, boolean autoSetStreamCharset) {
    return chilkatJNI.CkRest_ReadRespBodyStream(swigCPtr, this, CkStream.getCPtr(stream), stream, autoSetStreamCharset);
  }

  public CkTask ReadRespBodyStreamAsync(CkStream stream, boolean autoSetStreamCharset) {
    long cPtr = chilkatJNI.CkRest_ReadRespBodyStreamAsync(swigCPtr, this, CkStream.getCPtr(stream), stream, autoSetStreamCharset);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ReadRespBodyString(CkString outStr) {
    return chilkatJNI.CkRest_ReadRespBodyString(swigCPtr, this, CkString.getCPtr(outStr), outStr);
  }

  public String readRespBodyString() {
    return chilkatJNI.CkRest_readRespBodyString(swigCPtr, this);
  }

  public CkTask ReadRespBodyStringAsync() {
    long cPtr = chilkatJNI.CkRest_ReadRespBodyStringAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int ReadRespChunkBd(int minSize, CkBinData bd) {
    return chilkatJNI.CkRest_ReadRespChunkBd(swigCPtr, this, minSize, CkBinData.getCPtr(bd), bd);
  }

  public CkTask ReadRespChunkBdAsync(int minSize, CkBinData bd) {
    long cPtr = chilkatJNI.CkRest_ReadRespChunkBdAsync(swigCPtr, this, minSize, CkBinData.getCPtr(bd), bd);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int ReadResponseHeader() {
    return chilkatJNI.CkRest_ReadResponseHeader(swigCPtr, this);
  }

  public CkTask ReadResponseHeaderAsync() {
    long cPtr = chilkatJNI.CkRest_ReadResponseHeaderAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ReadRespSb(CkStringBuilder responseBody) {
    return chilkatJNI.CkRest_ReadRespSb(swigCPtr, this, CkStringBuilder.getCPtr(responseBody), responseBody);
  }

  public CkTask ReadRespSbAsync(CkStringBuilder responseBody) {
    long cPtr = chilkatJNI.CkRest_ReadRespSbAsync(swigCPtr, this, CkStringBuilder.getCPtr(responseBody), responseBody);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public CkUrl RedirectUrl() {
    long cPtr = chilkatJNI.CkRest_RedirectUrl(swigCPtr, this);
    return (cPtr == 0) ? null : new CkUrl(cPtr, true);
  }

  public boolean RemoveHeader(String name) {
    return chilkatJNI.CkRest_RemoveHeader(swigCPtr, this, name);
  }

  public boolean RemoveQueryParam(String name) {
    return chilkatJNI.CkRest_RemoveQueryParam(swigCPtr, this, name);
  }

  public boolean ResponseHdrByName(String name, CkString outStr) {
    return chilkatJNI.CkRest_ResponseHdrByName(swigCPtr, this, name, CkString.getCPtr(outStr), outStr);
  }

  public String responseHdrByName(String name) {
    return chilkatJNI.CkRest_responseHdrByName(swigCPtr, this, name);
  }

  public boolean ResponseHdrName(int index, CkString outStr) {
    return chilkatJNI.CkRest_ResponseHdrName(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String responseHdrName(int index) {
    return chilkatJNI.CkRest_responseHdrName(swigCPtr, this, index);
  }

  public boolean ResponseHdrValue(int index, CkString outStr) {
    return chilkatJNI.CkRest_ResponseHdrValue(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String responseHdrValue(int index) {
    return chilkatJNI.CkRest_responseHdrValue(swigCPtr, this, index);
  }

  public boolean SendReqBd(String httpVerb, String uriPath, CkBinData body) {
    return chilkatJNI.CkRest_SendReqBd(swigCPtr, this, httpVerb, uriPath, CkBinData.getCPtr(body), body);
  }

  public CkTask SendReqBdAsync(String httpVerb, String uriPath, CkBinData body) {
    long cPtr = chilkatJNI.CkRest_SendReqBdAsync(swigCPtr, this, httpVerb, uriPath, CkBinData.getCPtr(body), body);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqBinaryBody(String httpVerb, String uriPath, CkByteData body) {
    return chilkatJNI.CkRest_SendReqBinaryBody(swigCPtr, this, httpVerb, uriPath, CkByteData.getCPtr(body), body);
  }

  public CkTask SendReqBinaryBodyAsync(String httpVerb, String uriPath, CkByteData body) {
    long cPtr = chilkatJNI.CkRest_SendReqBinaryBodyAsync(swigCPtr, this, httpVerb, uriPath, CkByteData.getCPtr(body), body);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqFormUrlEncoded(String httpVerb, String uriPath) {
    return chilkatJNI.CkRest_SendReqFormUrlEncoded(swigCPtr, this, httpVerb, uriPath);
  }

  public CkTask SendReqFormUrlEncodedAsync(String httpVerb, String uriPath) {
    long cPtr = chilkatJNI.CkRest_SendReqFormUrlEncodedAsync(swigCPtr, this, httpVerb, uriPath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqMultipart(String httpVerb, String uriPath) {
    return chilkatJNI.CkRest_SendReqMultipart(swigCPtr, this, httpVerb, uriPath);
  }

  public CkTask SendReqMultipartAsync(String httpVerb, String uriPath) {
    long cPtr = chilkatJNI.CkRest_SendReqMultipartAsync(swigCPtr, this, httpVerb, uriPath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqNoBody(String httpVerb, String uriPath) {
    return chilkatJNI.CkRest_SendReqNoBody(swigCPtr, this, httpVerb, uriPath);
  }

  public CkTask SendReqNoBodyAsync(String httpVerb, String uriPath) {
    long cPtr = chilkatJNI.CkRest_SendReqNoBodyAsync(swigCPtr, this, httpVerb, uriPath);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqSb(String httpVerb, String uriPath, CkStringBuilder bodySb) {
    return chilkatJNI.CkRest_SendReqSb(swigCPtr, this, httpVerb, uriPath, CkStringBuilder.getCPtr(bodySb), bodySb);
  }

  public CkTask SendReqSbAsync(String httpVerb, String uriPath, CkStringBuilder bodySb) {
    long cPtr = chilkatJNI.CkRest_SendReqSbAsync(swigCPtr, this, httpVerb, uriPath, CkStringBuilder.getCPtr(bodySb), bodySb);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqStreamBody(String httpVerb, String uriPath, CkStream stream) {
    return chilkatJNI.CkRest_SendReqStreamBody(swigCPtr, this, httpVerb, uriPath, CkStream.getCPtr(stream), stream);
  }

  public CkTask SendReqStreamBodyAsync(String httpVerb, String uriPath, CkStream stream) {
    long cPtr = chilkatJNI.CkRest_SendReqStreamBodyAsync(swigCPtr, this, httpVerb, uriPath, CkStream.getCPtr(stream), stream);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqStringBody(String httpVerb, String uriPath, String bodyText) {
    return chilkatJNI.CkRest_SendReqStringBody(swigCPtr, this, httpVerb, uriPath, bodyText);
  }

  public CkTask SendReqStringBodyAsync(String httpVerb, String uriPath, String bodyText) {
    long cPtr = chilkatJNI.CkRest_SendReqStringBodyAsync(swigCPtr, this, httpVerb, uriPath, bodyText);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SetAuthAws(CkAuthAws authProvider) {
    return chilkatJNI.CkRest_SetAuthAws(swigCPtr, this, CkAuthAws.getCPtr(authProvider), authProvider);
  }

  public boolean SetAuthAzureSas(CkAuthAzureSAS authProvider) {
    return chilkatJNI.CkRest_SetAuthAzureSas(swigCPtr, this, CkAuthAzureSAS.getCPtr(authProvider), authProvider);
  }

  public boolean SetAuthAzureStorage(CkAuthAzureStorage authProvider) {
    return chilkatJNI.CkRest_SetAuthAzureStorage(swigCPtr, this, CkAuthAzureStorage.getCPtr(authProvider), authProvider);
  }

  public boolean SetAuthBasic(String username, String password) {
    return chilkatJNI.CkRest_SetAuthBasic(swigCPtr, this, username, password);
  }

  public boolean SetAuthBasicSecure(CkSecureString username, CkSecureString password) {
    return chilkatJNI.CkRest_SetAuthBasicSecure(swigCPtr, this, CkSecureString.getCPtr(username), username, CkSecureString.getCPtr(password), password);
  }

  public boolean SetAuthGoogle(CkAuthGoogle authProvider) {
    return chilkatJNI.CkRest_SetAuthGoogle(swigCPtr, this, CkAuthGoogle.getCPtr(authProvider), authProvider);
  }

  public boolean SetAuthOAuth1(CkOAuth1 authProvider, boolean useQueryParams) {
    return chilkatJNI.CkRest_SetAuthOAuth1(swigCPtr, this, CkOAuth1.getCPtr(authProvider), authProvider, useQueryParams);
  }

  public boolean SetAuthOAuth2(CkOAuth2 authProvider) {
    return chilkatJNI.CkRest_SetAuthOAuth2(swigCPtr, this, CkOAuth2.getCPtr(authProvider), authProvider);
  }

  public boolean SetMultipartBodyBd(CkBinData bodyData) {
    return chilkatJNI.CkRest_SetMultipartBodyBd(swigCPtr, this, CkBinData.getCPtr(bodyData), bodyData);
  }

  public boolean SetMultipartBodyBinary(CkByteData bodyData) {
    return chilkatJNI.CkRest_SetMultipartBodyBinary(swigCPtr, this, CkByteData.getCPtr(bodyData), bodyData);
  }

  public boolean SetMultipartBodySb(CkStringBuilder bodySb) {
    return chilkatJNI.CkRest_SetMultipartBodySb(swigCPtr, this, CkStringBuilder.getCPtr(bodySb), bodySb);
  }

  public boolean SetMultipartBodyStream(CkStream stream) {
    return chilkatJNI.CkRest_SetMultipartBodyStream(swigCPtr, this, CkStream.getCPtr(stream), stream);
  }

  public boolean SetMultipartBodyString(String bodyText) {
    return chilkatJNI.CkRest_SetMultipartBodyString(swigCPtr, this, bodyText);
  }

  public boolean SetResponseBodyStream(int expectedStatus, boolean autoSetStreamCharset, CkStream responseStream) {
    return chilkatJNI.CkRest_SetResponseBodyStream(swigCPtr, this, expectedStatus, autoSetStreamCharset, CkStream.getCPtr(responseStream), responseStream);
  }

  public boolean UseConnection(CkSocket connection, boolean autoReconnect) {
    return chilkatJNI.CkRest_UseConnection(swigCPtr, this, CkSocket.getCPtr(connection), connection, autoReconnect);
  }

}
