private async Task <string> SendFile(IRestFileRequest request, bool hasResponse) { var method = request.Method; var path = request.Endpoint; var filename = request.Filename; var stream = request.Stream; var isPrivate = request.IsPrivate; Stopwatch stopwatch = null; if (Logger.Level >= LogSeverity.Verbose) { stopwatch = Stopwatch.StartNew(); } string responseJson = await _engine.SendFile(method, path, filename, stream, CancelToken).ConfigureAwait(false); if (Logger.Level >= LogSeverity.Verbose) { stopwatch.Stop(); double milliseconds = Math.Round(stopwatch.ElapsedTicks / (double)TimeSpan.TicksPerMillisecond, 2); string log = $"{method} {path}: {milliseconds} ms"; if (_config.LogLevel >= LogSeverity.Debug && !isPrivate) { log += $" {filename}"; } Logger.Verbose(log); } return(responseJson); }
public async Task Send(IRestFileRequest request) { if (request == null) throw new ArgumentNullException(nameof(request)); if (!OnSendingRequest(request)) throw new OperationCanceledException(); var results = await SendFile(request, false).ConfigureAwait(false); OnSentRequest(request, null, null, results.Milliseconds); }
private async Task<RestResults> SendFile(IRestFileRequest request, bool hasResponse) { Stopwatch stopwatch = Stopwatch.StartNew(); string responseJson = await _engine.SendFile(request.Method, request.Endpoint, request.Filename, request.Stream, CancelToken).ConfigureAwait(false); stopwatch.Stop(); double milliseconds = Math.Round((double)stopwatch.ElapsedTicks / (double)Stopwatch.Frequency * 1000.0, 2); return new RestResults(responseJson, milliseconds); }
public Task Send(IRestFileRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } return(SendFile(request, false)); }
public async Task<ResponseT> Send<ResponseT>(IRestFileRequest<ResponseT> request) where ResponseT : class { if (request == null) throw new ArgumentNullException(nameof(request)); if (!OnSendingRequest(request)) throw new OperationCanceledException(); var results = await SendFile(request, true).ConfigureAwait(false); var response = Deserialize<ResponseT>(results.Response); OnSentRequest(request, response, results.Response, results.Milliseconds); return response; }
public async Task <ResponseT> Send <ResponseT>(IRestFileRequest <ResponseT> request) where ResponseT : class { if (request == null) { throw new ArgumentNullException(nameof(request)); } string requestJson = JsonConvert.SerializeObject(request.Payload); string responseJson = await SendFile(request, true).ConfigureAwait(false); return(DeserializeResponse <ResponseT>(responseJson)); }