Ejemplo n.º 1
0
        internal IFlurlRequest GetClient(Url pathSegment = null, bool anonymous = false, bool useBaseUrl = true)
        {
            var url = useBaseUrl ? BaseUrl
                      .AppendPathSegment(API_SEGMENT)
                      .AppendPathSegment(pathSegment.Path)
                      .SetQueryParams(pathSegment.QueryParams) : pathSegment;
            IFlurlRequest client = new FlurlRequest(url);

            foreach (var hea in Headers)
            {
                client = client.WithHeader(hea.Key, hea.Value);
            }
            //var client = url
            //    //.WithHeader("Content-Type", "application/json")
            //    .WithHeader("Accept", "application/json")
            //    //.WithHeader("User-Agent", Platform + "|" + AppName + "|" + GetType().GetTypeInfo().Assembly.GetName().Version)
            //    .WithHeader("Accept-Language", System.Globalization.CultureInfo.CurrentCulture.ToString());

            client = client.WithHeader("ClientVersion", "1.0.0");
            foreach (var inter in callInterceptors)
            {
                client.ConfigureRequest(httpClient =>
                {
                    inter(pathSegment, anonymous, useBaseUrl, httpClient);
                });
            }
            //if (!anonymous)
            //{
            //    var authHeader = GetAuthorizationHeader();
            //    client = client.WithHeader(authHeader.Key, authHeader.Value);
            //}
            return(client);
        }