Exemplo n.º 1
0
 public ApiClient(ApiClientConfiguration configuration)
 {
     _configuration = configuration;
 }
Exemplo n.º 2
0
 public OrderService(ILogger <OrderService> logger, IApiClient apiClient, ApiClientConfiguration configuration)
 {
     this.logger      = logger;
     this.apiClient   = apiClient;
     GoogleMapsApiKey = configuration.GoogleMapsApiKey;
 }
Exemplo n.º 3
0
        public virtual HttpRequestMessage CreateHttpRequestMessage(string url, HttpMethod method, object content = null, ApiClientConfiguration customConfig = null)
        {
            var httpRequest = new HttpRequestMessage(method, url);

            if (customConfig?.AdditionalHeaders != null)
            {
                foreach (var header in customConfig?.AdditionalHeaders)
                {
                    httpRequest.Headers.Add(header.Key, header.Value);
                }
            }

            if (!string.IsNullOrEmpty(customConfig?.AcceptHeader.Value))
            {
                httpRequest.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(customConfig.AcceptHeader.Value));
            }

            if (content != null)
            {
                var strContent = new StringContent(JsonConvert.SerializeObject(content));
                strContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                httpRequest.Content            = strContent;
            }
            return(httpRequest);
        }
Exemplo n.º 4
0
        public virtual async Task <ApiClientResult <TResponse, TResponseError> > GetResponse <TResponse, TResponseError>(string path, HttpMethod method, ApiClientConfiguration customConfig = null, object content = null)
        {
            var stopWatch = new Stopwatch();

            stopWatch.Start();
            var baseUrl  = customConfig?.BaseUrl != null ? customConfig.BaseUrl : _config?.BaseUrl;
            var request  = CreateHttpRequestMessage($"{baseUrl}{path}", method, content, customConfig);
            var response = await ProcessRequestAsync(request);

            stopWatch.Stop();
            var result = await ProcessResponseAsync <TResponse, TResponseError>(response);

            result.ResponseTime = stopWatch.Elapsed;
            return(result);
        }
Exemplo n.º 5
0
 public virtual async Task <ApiClientResult <TResponse, TResponseError> > DeleteAsync <TResponse, TResponseError>(string path, ApiClientConfiguration customConfig = null)
 {
     return(await GetResponse <TResponse, TResponseError>(path, HttpMethod.Delete, customConfig));
 }
Exemplo n.º 6
0
 public virtual async Task <ApiClientResult <TResponse, TResponseError> > PutAsync <TResponse, TResponseError>(string path, object content, ApiClientConfiguration customConfig = null)
 {
     return(await GetResponse <TResponse, TResponseError>(path, HttpMethod.Put, customConfig, content));
 }
Exemplo n.º 7
0
 public void Configure(ApiClientConfiguration config)
 {
     _config = config;
 }