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); }
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; } }