Ejemplo n.º 1
0
        public HttpClient GetClient(HttpMessageHandler handler, bool addAuthentication = true)
        {
            var serverHashCode = SubsonicServer.GetHashCode();

            if (SubsonicServerHashCode != serverHashCode)
            {
                SubsonicServerHashCode = serverHashCode;
                HttpClient             = null;
            }

            if (HttpClient != null)
            {
                return(HttpClient);
            }

            var httpClient = new HttpClient(handler);

            if (addAuthentication && UseOldAuthenticationMethod())
            {
                httpClient.DefaultRequestHeaders.Add(HttpHeaderField.Authorization, GetAuthorizationHeader(SubsonicServer.UserName, SubsonicServer.Password));
            }

            httpClient.DefaultRequestHeaders.Add(HttpHeaderField.UserAgent, SubsonicServer.ClientName);

            HttpClient = httpClient;

            return(HttpClient);
        }
Ejemplo n.º 2
0
        public HttpClientHandler GetClientHandler()
        {
            var serverHashCode = SubsonicServer.GetHashCode();

            if (SubsonicServerHashCode != serverHashCode)
            {
                SubsonicServerHashCode = serverHashCode;
                HttpClientHandler      = null;
            }

            if (HttpClientHandler != null)
            {
                return(HttpClientHandler);
            }

            var networkCredential = UseOldAuthenticationMethod() ? new NetworkCredential(SubsonicServer.UserName, SubsonicServer.Password) : null;

            HttpClientHandler = new HttpClientHandler
            {
                Credentials       = networkCredential,
                UseCookies        = false,
                AllowAutoRedirect = true,
                Proxy             = SubsonicServer.Proxy,
                UseProxy          = SubsonicServer.Proxy != null
            };

            return(HttpClientHandler);
        }