예제 #1
0
        public async Task <UZTrainSet> GetTrains(UZTrainsRequest request)
        {
            var serializedRequest = _serializer.SerializeRequest(request);
            var requestedUri      = string.Format("{0}{1}", _apiConfig.Culture, _apiConfig.TrainsURI);
            var response          = await _requestExecutor.PostAsync(requestedUri, serializedRequest);

            var trainSet = _serializer.DeserializeResponse <UZTrainSet>(response);

            trainSet.OwnerRequest = request;
            return(trainSet);
        }
예제 #2
0
        protected async Task <TResponse> PostAsync <TRequest, TResponse>
        (
            string uri,
            TRequest data,
            IReadOnlyCollection <KeyValuePair <string, string> > queryHeaders = null,
            HttpQuerySetting setting = null
        )
            where TRequest : class
        {
            var fullUri = uriCreator.Create(GetApiEndpoint(), uri);

            try
            {
                var response = await httpRequestExecutor.PostAsync(fullUri, data, AddDefaultHeaders(queryHeaders), setting ?? DefaultHttpQuerySetting()).ConfigureAwait(false);

                var result = responseParser.Parse <TResponse>(response);
                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }