public classHBaseClient : IHBaseClient
{privateWebRequester _requester;private readonlyRequestOptions _globalRequestOptions;///
///
///
///
///
public HBaseClient(string url, RequestOptions globalRequestOptions = null)
{
_globalRequestOptions= globalRequestOptions ??RequestOptions.GetDefaultOptions();
_requester= newWebRequester(url);
}///
///
///
///
///
public async Task GetVersionAsync(RequestOptions options = null)
{var optionToUse = options ??_globalRequestOptions;return await GetRequestAndDeserializeAsync(EndPointType.Version, optionToUse);
}///
///
///
///
///
///
public async Task CreateTableAsync(TableSchema schema, RequestOptions options = null)
{if (string.IsNullOrEmpty(schema.name))throw new ArgumentException("schema.name was either null or empty!", "schema");var optionToUse = options ??_globalRequestOptions;string endpoint = string.Format("{0}/{1}", schema.name, EndPointType.Schema);using (HttpWebResponse webResponse = awaitPutRequestAsync(endpoint,schema, optionToUse))
{if (webResponse.StatusCode ==HttpStatusCode.Created)
{return true;
}//table already exits
if (webResponse.StatusCode ==HttpStatusCode.OK)
{return false;
}//throw the exception otherwise
using (var output = newStreamReader(webResp