public string GetUrl(AirlyClientFunction function, string query)
 => AirlyClientUrlBuilder.GetUrl(_config.IsSecure,
                                 _config.HostAddress,
                                 _config.ApiPrefix,
                                 _config.ApiVersion,
                                 function.ApiPath,
                                 query);
        private static HttpClient CreateHttpClient(IAirlyClientConfig config)
        {
            HttpClient httpClient = new HttpClient();

            httpClient.BaseAddress = AirlyClientUrlBuilder.GetBaseUrl(config);
            InterceptDefaultHttpHeaders(httpClient);
            InterceptAuthorizationHttpHeaders(httpClient, config);

            return(httpClient);
        }
 public async Task <Either <AirlyClientError, GetMeasurementByInstallationIdResponse> > GetMeasurementByInstallationId(GetMeasurementByInstallationIdRequest request)
 {
     return(await TracedOperation.CallAsync
            (
                "AirlyClient",
                AirlyClientFunction.AirlyClientFunctionType.GetMeasurementByInstallationId,
                request,
                () =>
     {
         string query = AirlyClientUrlBuilder.GetQuery(request.ToQueryParams());
         string url = _options.GetUrl(AirlyClientFunction.GetMeasurementByInstallationId, query);
         return GetHttpResponseAsync <GetMeasurementByInstallationIdResponse>(url);
     }
            ));
 }
 public async Task <Either <AirlyClientError, IEnumerable <GetInstallationsNearestResponse> > > GetInstallationsNearest(GetInstallationsNearestRequest request)
 {
     return(await TracedOperation.CallAsync
            (
                "AirlyClient",
                AirlyClientFunction.AirlyClientFunctionType.GetInstallationsNearest,
                request,
                () =>
     {
         string query = AirlyClientUrlBuilder.GetQuery(request.ToQueryParams());
         string url = _options.GetUrl(AirlyClientFunction.GetInstallationsNearest, query);
         return GetHttpResponseAsync <IEnumerable <GetInstallationsNearestResponse> >(url);
     }
            ));
 }