diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index 84dd0c1e8d..e70c1e5733 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -857,7 +857,7 @@ namespace MediaBrowser.Api.Playback
{
if (SupportsThrottleWithStream)
{
- var url = "http://localhost:" + ServerConfigurationManager.Configuration.HttpServerPortNumber.ToString(UsCulture) + "/mediabrowser/videos/" + state.Request.Id + "/stream?static=true&Throttle=true&mediaSourceId=" + state.Request.MediaSourceId;
+ var url = "http://localhost:" + ServerConfigurationManager.Configuration.HttpServerPortNumber.ToString(UsCulture) + "/videos/" + state.Request.Id + "/stream?static=true&Throttle=true&mediaSourceId=" + state.Request.MediaSourceId;
url += "&transcodingJobId=" + transcodingJobId;
diff --git a/MediaBrowser.Api/Playback/Hls/MpegDashService.cs b/MediaBrowser.Api/Playback/Hls/MpegDashService.cs
index 514597c3e1..a0b67a2209 100644
--- a/MediaBrowser.Api/Playback/Hls/MpegDashService.cs
+++ b/MediaBrowser.Api/Playback/Hls/MpegDashService.cs
@@ -625,7 +625,7 @@ namespace MediaBrowser.Api.Playback.Hls
protected override string GetCommandLineArguments(string outputPath, string transcodingJobId, StreamState state, bool isEncoding)
{
- // test url http://192.168.1.2:8096/mediabrowser/videos/233e8905d559a8f230db9bffd2ac9d6d/master.mpd?mediasourceid=233e8905d559a8f230db9bffd2ac9d6d&videocodec=h264&audiocodec=aac&maxwidth=1280&videobitrate=500000&audiobitrate=128000&profile=baseline&level=3
+ // test url http://192.168.1.2:8096/videos/233e8905d559a8f230db9bffd2ac9d6d/master.mpd?mediasourceid=233e8905d559a8f230db9bffd2ac9d6d&videocodec=h264&audiocodec=aac&maxwidth=1280&videobitrate=500000&audiobitrate=128000&profile=baseline&level=3
// Good info on i-frames http://blog.streamroot.io/encode-multi-bitrate-videos-mpeg-dash-mse-based-media-players/
var threads = GetNumberOfThreads(state, false);
diff --git a/MediaBrowser.Controller/IServerApplicationHost.cs b/MediaBrowser.Controller/IServerApplicationHost.cs
index 6bee5e58a3..181c14debe 100644
--- a/MediaBrowser.Controller/IServerApplicationHost.cs
+++ b/MediaBrowser.Controller/IServerApplicationHost.cs
@@ -18,12 +18,6 @@ namespace MediaBrowser.Controller
/// SystemInfo.
SystemInfo GetSystemInfo();
- ///
- /// Gets the name of the web application.
- ///
- /// The name of the web application.
- string WebApplicationName { get; }
-
///
/// Gets a value indicating whether [supports automatic run at startup].
///
@@ -36,28 +30,6 @@ namespace MediaBrowser.Controller
/// The HTTP server port.
int HttpServerPort { get; }
- ///
- /// Gets the HTTPS server port.
- ///
- /// The HTTPS server port.
- int HttpsServerPort { get; }
-
- ///
- /// Gets the value indiciating if an https port should be hosted.
- ///
- ///
- /// The value indiciating if an https port should be hosted.
- ///
- bool UseHttps { get; }
-
- ///
- /// Gets the value pointing to the file system where the ssl certiifcate is located.
- ///
- ///
- /// The value pointing to the file system where the ssl certiifcate is located.
- ///
- string CertificatePath { get; }
-
///
/// Gets a value indicating whether this instance has update available.
///
diff --git a/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs b/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs
index 810b1e5684..bcb539ac8d 100644
--- a/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs
+++ b/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs
@@ -165,7 +165,7 @@ namespace MediaBrowser.Dlna.Main
{
var guid = address.GetMD5();
- var descriptorURI = "/mediabrowser/dlna/" + guid.ToString("N") + "/description.xml";
+ var descriptorURI = "/dlna/" + guid.ToString("N") + "/description.xml";
var uri = new Uri(string.Format("http://{0}:{1}{2}", address, _config.Configuration.HttpServerPortNumber, descriptorURI));
diff --git a/MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs b/MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs
index f4f724d07a..545da7a86f 100644
--- a/MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs
+++ b/MediaBrowser.Dlna/Server/DescriptionXmlBuilder.cs
@@ -139,7 +139,7 @@ namespace MediaBrowser.Dlna.Server
Depth = "24",
Width = 240,
Height = 240,
- Url = "/mediabrowser/dlna/icons/logo240.png"
+ Url = "/dlna/icons/logo240.png"
});
list.Add(new DeviceIcon
@@ -148,7 +148,7 @@ namespace MediaBrowser.Dlna.Server
Depth = "24",
Width = 240,
Height = 240,
- Url = "/mediabrowser/dlna/icons/logo240.jpg"
+ Url = "/dlna/icons/logo240.jpg"
});
list.Add(new DeviceIcon
@@ -157,7 +157,7 @@ namespace MediaBrowser.Dlna.Server
Depth = "24",
Width = 120,
Height = 120,
- Url = "/mediabrowser/dlna/icons/logo120.png"
+ Url = "/dlna/icons/logo120.png"
});
list.Add(new DeviceIcon
@@ -166,7 +166,7 @@ namespace MediaBrowser.Dlna.Server
Depth = "24",
Width = 120,
Height = 120,
- Url = "/mediabrowser/dlna/icons/logo120.jpg"
+ Url = "/dlna/icons/logo120.jpg"
});
list.Add(new DeviceIcon
@@ -175,7 +175,7 @@ namespace MediaBrowser.Dlna.Server
Depth = "24",
Width = 48,
Height = 48,
- Url = "/mediabrowser/dlna/icons/logo48.png"
+ Url = "/dlna/icons/logo48.png"
});
list.Add(new DeviceIcon
@@ -184,7 +184,7 @@ namespace MediaBrowser.Dlna.Server
Depth = "24",
Width = 48,
Height = 48,
- Url = "/mediabrowser/dlna/icons/logo48.jpg"
+ Url = "/dlna/icons/logo48.jpg"
});
return list;
@@ -198,18 +198,18 @@ namespace MediaBrowser.Dlna.Server
{
ServiceType = "urn:schemas-upnp-org:service:ContentDirectory:1",
ServiceId = "urn:upnp-org:serviceId:ContentDirectory",
- ScpdUrl = "/mediabrowser/dlna/contentdirectory/contentdirectory.xml",
- ControlUrl = "/mediabrowser/dlna/contentdirectory/" + _serverUdn + "/control",
- EventSubUrl = "/mediabrowser/dlna/contentdirectory/" + _serverUdn + "/events"
+ ScpdUrl = "/dlna/contentdirectory/contentdirectory.xml",
+ ControlUrl = "/dlna/contentdirectory/" + _serverUdn + "/control",
+ EventSubUrl = "/dlna/contentdirectory/" + _serverUdn + "/events"
});
list.Add(new DeviceService
{
ServiceType = "urn:schemas-upnp-org:service:ConnectionManager:1",
ServiceId = "urn:upnp-org:serviceId:ConnectionManager",
- ScpdUrl = "/mediabrowser/dlna/connectionmanager/connectionmanager.xml",
- ControlUrl = "/mediabrowser/dlna/connectionmanager/" + _serverUdn + "/control",
- EventSubUrl = "/mediabrowser/dlna/connectionmanager/" + _serverUdn + "/events"
+ ScpdUrl = "/dlna/connectionmanager/connectionmanager.xml",
+ ControlUrl = "/dlna/connectionmanager/" + _serverUdn + "/control",
+ EventSubUrl = "/dlna/connectionmanager/" + _serverUdn + "/events"
});
return list;
diff --git a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs
index 4dc522f05c..b357b04178 100644
--- a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs
@@ -461,7 +461,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
// {
// if (SupportsThrottleWithStream)
// {
- // var url = "http://localhost:" + ServerConfigurationManager.Configuration.HttpServerPortNumber.ToString(UsCulture) + "/mediabrowser/videos/" + job.Request.Id + "/stream?static=true&Throttle=true&mediaSourceId=" + job.Request.MediaSourceId;
+ // var url = "http://localhost:" + ServerConfigurationManager.Configuration.HttpServerPortNumber.ToString(UsCulture) + "/videos/" + job.Request.Id + "/stream?static=true&Throttle=true&mediaSourceId=" + job.Request.MediaSourceId;
// url += "&transcodingJobId=" + transcodingJobId;
diff --git a/MediaBrowser.Model/System/SystemInfo.cs b/MediaBrowser.Model/System/SystemInfo.cs
index 9d4cfd6dbd..5a91978279 100644
--- a/MediaBrowser.Model/System/SystemInfo.cs
+++ b/MediaBrowser.Model/System/SystemInfo.cs
@@ -122,18 +122,6 @@ namespace MediaBrowser.Model.System
/// The HTTP server port number.
public int HttpServerPortNumber { get; set; }
- ///
- /// Gets or sets the value pointing to the file system where the ssl certiifcate is located.
- ///
- /// The value pointing to the file system where the ssl certiifcate is located.
- public bool UseHttps { get; set; }
-
- ///
- /// Gets or sets the value pointing to the file system where the ssl certiifcate is located..
- ///
- /// The value pointing to the file system where the ssl certiifcate is located..
- public string CertificatePath { get; set; }
-
///
/// Gets or sets the HTTPS server port number.
///
diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
index 9625593d10..194a8a4a23 100644
--- a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
+++ b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
@@ -1,5 +1,4 @@
using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
index 0c0922800a..1d7e89d285 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
@@ -24,7 +24,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer
{
public class HttpListenerHost : ServiceStackHost, IHttpServer
{
- private string HandlerPath { get; set; }
private string DefaultRedirectPath { get; set; }
private readonly ILogger _logger;
@@ -64,18 +63,16 @@ namespace MediaBrowser.Server.Implementations.HttpServer
}
}
- public HttpListenerHost(IApplicationHost applicationHost,
- ILogManager logManager,
- string serviceName,
- string handlerPath,
- string defaultRedirectPath,
- bool supportsNativeWebSocket,
+ public HttpListenerHost(IApplicationHost applicationHost,
+ ILogManager logManager,
+ string serviceName,
+ string defaultRedirectPath,
+ bool supportsNativeWebSocket,
params Assembly[] assembliesWithServices)
: base(serviceName, assembliesWithServices)
{
DefaultRedirectPath = defaultRedirectPath;
_supportsNativeWebSocket = supportsNativeWebSocket;
- HandlerPath = handlerPath;
_logger = logManager.GetLogger("HttpServer");
@@ -136,13 +133,9 @@ namespace MediaBrowser.Server.Implementations.HttpServer
{
base.OnConfigLoad();
- Config.HandlerFactoryPath = string.IsNullOrEmpty(HandlerPath)
- ? null
- : HandlerPath;
+ Config.HandlerFactoryPath = null;
- Config.MetadataRedirectPath = string.IsNullOrEmpty(HandlerPath)
- ? "metadata"
- : PathUtils.CombinePaths(HandlerPath, "metadata");
+ Config.MetadataRedirectPath = "metadata";
}
protected override ServiceController CreateServiceController(params Assembly[] assembliesWithServices)
@@ -245,7 +238,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
{
return;
}
-
+
var errorResponse = new ErrorResponse
{
ResponseStatus = new ResponseStatus
@@ -314,24 +307,24 @@ namespace MediaBrowser.Server.Implementations.HttpServer
var operationName = httpReq.OperationName;
var localPath = url.LocalPath;
- if (string.Equals(localPath, "/" + HandlerPath + "/", StringComparison.OrdinalIgnoreCase))
+ if (string.Equals(localPath, "/mediabrowser/", StringComparison.OrdinalIgnoreCase))
{
- httpRes.RedirectToUrl(DefaultRedirectPath);
+ httpRes.RedirectToUrl("/../" + DefaultRedirectPath);
return Task.FromResult(true);
}
- if (string.Equals(localPath, "/" + HandlerPath, StringComparison.OrdinalIgnoreCase))
+ if (string.Equals(localPath, "/mediabrowser", StringComparison.OrdinalIgnoreCase))
{
- httpRes.RedirectToUrl(HandlerPath + "/" + DefaultRedirectPath);
+ httpRes.RedirectToUrl("../" + DefaultRedirectPath);
return Task.FromResult(true);
}
if (string.Equals(localPath, "/", StringComparison.OrdinalIgnoreCase))
{
- httpRes.RedirectToUrl(HandlerPath + "/" + DefaultRedirectPath);
+ httpRes.RedirectToUrl(DefaultRedirectPath);
return Task.FromResult(true);
}
if (string.IsNullOrEmpty(localPath))
{
- httpRes.RedirectToUrl("/" + HandlerPath + "/" + DefaultRedirectPath);
+ httpRes.RedirectToUrl("/" + DefaultRedirectPath);
return Task.FromResult(true);
}
@@ -386,12 +379,33 @@ namespace MediaBrowser.Server.Implementations.HttpServer
base.Init();
}
- //public override RouteAttribute[] GetRouteAttributes(System.Type requestType)
- //{
- // var routes = base.GetRouteAttributes(requestType);
- // routes.Each(x => x.Path = "/api" + x.Path);
- // return routes;
- //}
+ public override RouteAttribute[] GetRouteAttributes(Type requestType)
+ {
+ var routes = base.GetRouteAttributes(requestType).ToList();
+ var clone = routes.ToList();
+
+ foreach (var route in clone)
+ {
+ routes.Add(new RouteAttribute(NormalizeRoutePath(route.Path), route.Verbs)
+ {
+ Notes = route.Notes,
+ Priority = route.Priority,
+ Summary = route.Summary
+ });
+ }
+
+ return routes.ToArray();
+ }
+
+ private string NormalizeRoutePath(string path)
+ {
+ if (path.StartsWith("/", StringComparison.OrdinalIgnoreCase))
+ {
+ return "/mediabrowser" + path;
+ }
+
+ return "mediabrowser/" + path;
+ }
///
/// Releases the specified instance.
diff --git a/MediaBrowser.Server.Implementations/HttpServer/ServerFactory.cs b/MediaBrowser.Server.Implementations/HttpServer/ServerFactory.cs
index b48703a15f..73d7610601 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/ServerFactory.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/ServerFactory.cs
@@ -16,20 +16,18 @@ namespace MediaBrowser.Server.Implementations.HttpServer
/// The application host.
/// The log manager.
/// Name of the server.
- /// The handler path.
/// The default redirectpath.
/// if set to true [supports native web socket].
/// IHttpServer.
public static IHttpServer CreateServer(IApplicationHost applicationHost,
ILogManager logManager,
string serverName,
- string handlerPath,
string defaultRedirectpath,
bool supportsNativeWebSocket)
{
LogManager.LogFactory = new ServerLogFactory(logManager);
- return new HttpListenerHost(applicationHost, logManager, serverName, handlerPath, defaultRedirectpath, supportsNativeWebSocket);
+ return new HttpListenerHost(applicationHost, logManager, serverName, defaultRedirectpath, supportsNativeWebSocket);
}
}
}
diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs
index b51a9ee7cd..edcf7255d7 100644
--- a/MediaBrowser.Server.Implementations/Library/UserManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs
@@ -744,7 +744,7 @@ namespace MediaBrowser.Server.Implementations.Library
text.AppendLine("Use your web browser to visit:");
text.AppendLine(string.Empty);
- text.AppendLine(localAddress + "/mediabrowser/web/forgotpasswordpin.html");
+ text.AppendLine(localAddress + "/web/forgotpasswordpin.html");
text.AppendLine(string.Empty);
text.AppendLine("Enter the following pin code:");
text.AppendLine(string.Empty);
diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json
index 253d9a00db..1ed5ddb4fd 100644
--- a/MediaBrowser.Server.Implementations/Localization/Server/server.json
+++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json
@@ -46,6 +46,7 @@
"HeaderTV": "TV",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
+ "HeaderPaths": "Paths",
"OptionDetectArchiveFilesAsMedia": "Detect archive files as media",
"OptionDetectArchiveFilesAsMediaHelp": "If enabled, files with .rar and .zip extensions will be detected as media files.",
"LabelEnterConnectUserName": "User name or email:",
@@ -321,8 +322,8 @@
"LabelAutomaticUpdatesFanartHelp": "If enabled, new images will be downloaded automatically as they're added to fanart.tv. Existing images will not be replaced.",
"LabelAutomaticUpdatesTmdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheMovieDB.org. Existing images will not be replaced.",
"LabelAutomaticUpdatesTvdbHelp": "If enabled, new images will be downloaded automatically as they're added to TheTVDB.com. Existing images will not be replaced.",
- "LabelFanartApiKey": "Personal api key:",
- "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.",
+ "LabelFanartApiKey": "Personal api key:",
+ "LabelFanartApiKeyHelp": "Requests to fanart without a personal API key return results that were approved over 7 days ago. With a personal API key that drops to 48 hours and if you are also a fanart VIP member that will further drop to around 10 minutes.",
"ExtractChapterImagesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs when videos are discovered, and also as a nightly scheduled task at 4am. The schedule is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.",
"LabelMetadataDownloadLanguage": "Preferred download language:",
"ButtonAutoScroll": "Auto-scroll",
@@ -492,6 +493,7 @@
"HeaderSystemPaths": "System Paths",
"LinkCommunity": "Community",
"LinkGithub": "Github",
+ "LinkApi": "Api",
"LinkApiDocumentation": "Api Documentation",
"LabelFriendlyServerName": "Friendly server name:",
"LabelFriendlyServerNameHelp": "This name will be used to identify this server. If left blank, the computer name will be used.",
@@ -511,7 +513,7 @@
"LabelUseHttps": "Enable SSL",
"LabelUseHttpsHelp": "Check to enable SSL hosting.",
- "LabelHttpsPort": "Local http port:",
+ "LabelHttpsPort": "Local http port:",
"LabelHttpsPortHelp": "The tcp port number that Media Browser's https server should bind to.",
"LabelCertificatePath": "SSL Certificate path:",
"LabelCertificatePathHelp": "The path on the filesystem to the ssl certificate pfx file.",
diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs
index 29c5304382..0d8b651904 100644
--- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs
+++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs
@@ -130,12 +130,12 @@ namespace MediaBrowser.Server.Startup.Common
{
var list = new List
{
- "http://+:" + ServerConfigurationManager.Configuration.HttpServerPortNumber + "/" + WebApplicationName + "/"
+ "http://+:" + ServerConfigurationManager.Configuration.HttpServerPortNumber + "/"
};
if (ServerConfigurationManager.Configuration.UseHttps)
{
- list.Add("https://+:" + ServerConfigurationManager.Configuration.HttpsPortNumber + "/" + WebApplicationName + "/");
+ list.Add("https://+:" + ServerConfigurationManager.Configuration.HttpsPortNumber + "/");
}
return list;
@@ -472,7 +472,7 @@ namespace MediaBrowser.Server.Startup.Common
_supportsNativeWebSocket = false;
}
- HttpServer = ServerFactory.CreateServer(this, LogManager, "Media Browser", WebApplicationName, "dashboard/index.html", false);
+ HttpServer = ServerFactory.CreateServer(this, LogManager, "Media Browser", "web/index.html", false);
RegisterSingleInstance(HttpServer, false);
progress.Report(10);
@@ -810,7 +810,7 @@ namespace MediaBrowser.Server.Startup.Common
{
try
{
- ServerManager.Start(HttpServerUrlPrefixes, CertificatePath);
+ ServerManager.Start(HttpServerUrlPrefixes, ServerConfigurationManager.Configuration.CertificatePath);
}
catch (Exception ex)
{
@@ -977,8 +977,6 @@ namespace MediaBrowser.Server.Startup.Common
CachePath = ApplicationPaths.CachePath,
MacAddress = GetMacAddress(),
HttpServerPortNumber = HttpServerPort,
- UseHttps = UseHttps,
- CertificatePath = CertificatePath,
OperatingSystem = OperatingSystemDisplayName,
CanSelfRestart = CanSelfRestart,
CanSelfUpdate = CanSelfUpdate,
@@ -1053,16 +1051,6 @@ namespace MediaBrowser.Server.Startup.Common
get { return ServerConfigurationManager.Configuration.HttpServerPortNumber; }
}
- public bool UseHttps
- {
- get { return this.ServerConfigurationManager.Configuration.UseHttps; }
- }
-
- public string CertificatePath
- {
- get { return this.ServerConfigurationManager.Configuration.CertificatePath; }
- }
-
public int HttpsServerPort
{
get { return ServerConfigurationManager.Configuration.HttpsPortNumber; }
diff --git a/MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs b/MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs
index 97f6b89d78..bb78cc02f8 100644
--- a/MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs
+++ b/MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs
@@ -18,8 +18,7 @@ namespace MediaBrowser.Server.Startup.Common.Browser
/// The logger.
public static void OpenDashboardPage(string page, IServerApplicationHost appHost, ILogger logger)
{
- var url = "http://localhost:" + appHost.HttpServerPort + "/" +
- appHost.WebApplicationName + "/web/" + page;
+ var url = "http://localhost:" + appHost.HttpServerPort + "/web/" + page;
OpenUrl(url, logger);
}
@@ -69,8 +68,7 @@ namespace MediaBrowser.Server.Startup.Common.Browser
/// The logger.
public static void OpenSwagger(IServerApplicationHost appHost, ILogger logger)
{
- OpenUrl("http://localhost:" + appHost.HttpServerPort + "/" +
- appHost.WebApplicationName + "/swagger-ui/index.html", logger);
+ OpenUrl("http://localhost:" + appHost.HttpServerPort + "/swagger-ui/index.html", logger);
}
///
diff --git a/MediaBrowser.ServerApplication/BackgroundServiceInstaller.cs b/MediaBrowser.ServerApplication/BackgroundServiceInstaller.cs
index 27ddfeb955..15cab6c197 100644
--- a/MediaBrowser.ServerApplication/BackgroundServiceInstaller.cs
+++ b/MediaBrowser.ServerApplication/BackgroundServiceInstaller.cs
@@ -25,7 +25,7 @@ namespace MediaBrowser.ServerApplication
Description = "The windows background service for Media Browser Server.",
// Will ensure the network is available
- ServicesDependedOn = new[] { "LanmanServer" }
+ ServicesDependedOn = new[] { "LanmanServer", "Tcpip" }
};
// Microsoft didn't add the ability to add a