Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
		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);
        }
Пример #4
0
        public Task Send(IRestFileRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            return(SendFile(request, false));
        }
Пример #5
0
        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;
        }
Пример #6
0
        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));
        }