diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-07-22 01:50:33 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-07-22 01:50:33 -0400 |
| commit | f57ce51d12a35bab022062a35f76e357e6492483 (patch) | |
| tree | 2870e507ea65ada556b74c3b8eeb3b2dd07730a3 /MediaBrowser.Common.Implementations | |
| parent | 739ad6e1df824799416a6bcf52eeea09c674d7d4 (diff) | |
| parent | d41ae85ed219da98c71ca15d47d6ea2603f1ee76 (diff) | |
Merge branch 'beta'
Diffstat (limited to 'MediaBrowser.Common.Implementations')
| -rw-r--r-- | MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs | 30 | ||||
| -rw-r--r-- | MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs | 6 |
2 files changed, 33 insertions, 3 deletions
diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs index 2b7cc10aa..371757f6c 100644 --- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs +++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs @@ -140,7 +140,17 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager private WebRequest GetRequest(HttpRequestOptions options, string method) { - var request = CreateWebRequest(options.Url); + var url = options.Url; + + var uriAddress = new Uri(url); + var userInfo = uriAddress.UserInfo; + if (!string.IsNullOrWhiteSpace(userInfo)) + { + _logger.Info("Found userInfo in url: {0} ... url: {1}", userInfo, url); + url = url.Replace(userInfo + "@", string.Empty); + } + + var request = CreateWebRequest(url); var httpWebRequest = request as HttpWebRequest; if (httpWebRequest != null) @@ -183,9 +193,27 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager } } + if (!string.IsNullOrWhiteSpace(userInfo)) + { + var parts = userInfo.Split(':'); + if (parts.Length == 2) + { + request.Credentials = GetCredential(url, parts[0], parts[1]); + request.PreAuthenticate = true; + } + } + return request; } + private CredentialCache GetCredential(string url, string username, string password) + { + //ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; + CredentialCache credentialCache = new CredentialCache(); + credentialCache.Add(new Uri(url), "Basic", new NetworkCredential(username, password)); + return credentialCache; + } + private void AddRequestHeaders(HttpWebRequest request, HttpRequestOptions options) { foreach (var header in options.RequestHeaders.ToList()) diff --git a/MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs b/MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs index 2ffaedc4b..d1ec30210 100644 --- a/MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs +++ b/MediaBrowser.Common.Implementations/Updates/GithubUpdater.cs @@ -54,7 +54,9 @@ namespace MediaBrowser.Common.Implementations.Updates { if (updateLevel == PackageVersionClass.Release) { - obj = obj.Where(i => !i.prerelease).ToArray(); + // Technically all we need to do is check that it's not pre-release + // But let's addititional checks for -beta and -dev to handle builds that might be temporarily tagged incorrectly. + obj = obj.Where(i => !i.prerelease && !i.name.EndsWith("-beta", StringComparison.OrdinalIgnoreCase) && !i.name.EndsWith("-dev", StringComparison.OrdinalIgnoreCase)).ToArray(); } else if (updateLevel == PackageVersionClass.Beta) { @@ -70,7 +72,7 @@ namespace MediaBrowser.Common.Implementations.Updates .Where(i => i != null) .OrderByDescending(i => Version.Parse(i.AvailableVersion)) .FirstOrDefault(); - + return availableUpdate ?? new CheckForUpdateResult { IsUpdateAvailable = false |
