Skip to content

Instantly share code, notes, and snippets.

@mr5z
Created April 9, 2019 14:51
Show Gist options
  • Save mr5z/e2327f12897e2802295a9f6bb5ffde00 to your computer and use it in GitHub Desktop.
Save mr5z/e2327f12897e2802295a9f6bb5ffde00 to your computer and use it in GitHub Desktop.
async Task<DataResponse<TModel>> SendAsync<TModel>(HttpMethod method, string path, object parameters, HttpContent content, CancellationToken cancellationToken)
{
string errorMessage;
try
{
OnPreSendAsync(adapter);
var response = await adapter.SendAsync<TModel>(method, path, parameters, content, cancellationToken);
return new DataResponse<TModel>(response);
}
catch (InvalidOperationException ex) { errorMessage = ex.Message; }
catch (HttpRequestException ex) { errorMessage = ex.Message; }
catch (JsonReaderException ex) { errorMessage = ex.Message; }
catch (TaskCanceledException ex) { errorMessage = ex.Message; }
catch (HttpClientAdapterException ex)
{
if (ex.StatusCode == HttpStatusCode.Unauthorized)
return DataResponse<TModel>.UnauthorizedResponse;
errorMessage = ex.Message;
}
return new DataResponse<TModel>(errorMessage);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment