private static async Task <IRestResponse> Execute(Func <Task <IRestResponse> > ask, IRestRequest request, CancellationToken ct) { IRestResponse response; if (!ct.IsCancellationRequested) { LogRequest(request, "Sending"); try { response = await ask(); LogResponse(response, "Received"); } catch (Exception e) { var tie = new TrelloInteractionException(e); response = new NullRestResponse { Exception = e }; TrelloConfiguration.Log.Error(tie); } } else { LogRequest(request, "Stubbing"); response = new NullRestResponse(); } return(response); }
private static void Execute(Action <IRestClient> ask, IRestRequest request) { if (NetworkMonitor.IsConnected && !_cancelPendingRequests) { var client = TrelloConfiguration.RestClientProvider.CreateRestClient(BaseUrl); LogRequest(request, "Sending"); try { ask(client); LogResponse(request.Response, "Received"); } catch (Exception e) { var tie = new TrelloInteractionException(e); request.Response = new NullRestResponse { Exception = e }; TrelloConfiguration.Log.Error(tie, false); } } else { LogRequest(request, "Stubbing"); request.Response = new NullRestResponse(); } }
public static bool IsNotFoundError(this TrelloInteractionException e) { return(e.InnerException != null && e.InnerException.Message.ToLower().Contains("not found")); }