diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
index 428ec7dd77..88092901c2 100644
--- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
+++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
@@ -25,7 +25,6 @@ namespace MediaBrowser.Api.Playback.Hls
///
[Route("/Videos/{Id}/master.m3u8", "GET", Summary = "Gets a video stream using HTTP live streaming.")]
[Route("/Videos/{Id}/master.m3u8", "HEAD", Summary = "Gets a video stream using HTTP live streaming.")]
- [Route("/Videos/{Id}/master.m3u8", "OPTIONS", Summary = "Gets a video stream using HTTP live streaming.")]
public class GetMasterHlsVideoStream : VideoStreamRequest
{
public bool EnableAdaptiveBitrateStreaming { get; set; }
@@ -71,13 +70,6 @@ namespace MediaBrowser.Api.Playback.Hls
return result;
}
- public object Options(GetMasterHlsVideoStream request)
- {
- var result = GetAsync(request, "OPTIONS").Result;
-
- return result;
- }
-
public object Head(GetMasterHlsVideoStream request)
{
var result = GetAsync(request, "HEAD").Result;
diff --git a/MediaBrowser.Api/Playback/Progressive/AudioService.cs b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
index 21f0599e37..6fae65ffcb 100644
--- a/MediaBrowser.Api/Playback/Progressive/AudioService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
@@ -20,8 +20,6 @@ namespace MediaBrowser.Api.Playback.Progressive
[Route("/Audio/{Id}/stream", "GET", Summary = "Gets an audio stream")]
[Route("/Audio/{Id}/stream.{Container}", "HEAD", Summary = "Gets an audio stream")]
[Route("/Audio/{Id}/stream", "HEAD", Summary = "Gets an audio stream")]
- [Route("/Audio/{Id}/stream.{Container}", "OPTIONS", Summary = "Gets an audio stream")]
- [Route("/Audio/{Id}/stream", "OPTIONS", Summary = "Gets an audio stream")]
public class GetAudioStream : StreamRequest
{
[ApiMember(Name = "Container", Description = "Container", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -57,16 +55,6 @@ namespace MediaBrowser.Api.Playback.Progressive
return ProcessRequest(request, true);
}
- ///
- /// Gets the specified request.
- ///
- /// The request.
- /// System.Object.
- public object Options(GetAudioStream request)
- {
- return ProcessRequest(request, true);
- }
-
///
/// Gets the command line arguments.
///
diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
index 54d441dc53..6393811649 100644
--- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
@@ -49,12 +49,6 @@ namespace MediaBrowser.Api.Playback.Progressive
[Route("/Videos/{Id}/stream.wtv", "HEAD")]
[Route("/Videos/{Id}/stream.m2ts", "HEAD")]
[Route("/Videos/{Id}/stream", "HEAD")]
- [Route("/Videos/{Id}/stream.mp4", "OPTIONS")]
- [Route("/Videos/{Id}/stream.m4v", "OPTIONS")]
- [Route("/Videos/{Id}/stream.mkv", "OPTIONS")]
- [Route("/Videos/{Id}/stream.avi", "OPTIONS")]
- [Route("/Videos/{Id}/stream.webm", "OPTIONS")]
- [Route("/Videos/{Id}/stream.ts", "OPTIONS")]
[Api(Description = "Gets a video stream")]
public class GetVideoStream : VideoStreamRequest
{
@@ -90,16 +84,6 @@ namespace MediaBrowser.Api.Playback.Progressive
return ProcessRequest(request, true);
}
- ///
- /// Optionses the specified request.
- ///
- /// The request.
- /// System.Object.
- public object Options(GetVideoStream request)
- {
- return ProcessRequest(request, true);
- }
-
///
/// Gets the command line arguments.
///
diff --git a/MediaBrowser.Dlna/Profiles/DirectTvProfile.cs b/MediaBrowser.Dlna/Profiles/DirectTvProfile.cs
index aeb11c38b1..585f8652e6 100644
--- a/MediaBrowser.Dlna/Profiles/DirectTvProfile.cs
+++ b/MediaBrowser.Dlna/Profiles/DirectTvProfile.cs
@@ -24,7 +24,9 @@ namespace MediaBrowser.Dlna.Profiles
Name = "User-Agent",
Value = "DIRECTV"
}
- }
+ },
+
+ FriendlyName = "^DIRECTV.*$"
};
DirectPlayProfiles = new[]
diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
index 044ed25f91..79638d751b 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
@@ -83,12 +83,21 @@ namespace MediaBrowser.Server.Implementations.HttpServer
container.Adapter = _containerAdapter;
Plugins.Add(new SwaggerFeature());
- Plugins.Add(new CorsFeature(allowedHeaders: "Content-Type, Authorization"));
+ Plugins.Add(new CorsFeature(allowedHeaders: "Content-Type, Authorization, X-MediaBrowser-Token"));
//Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] {
// new SessionAuthProvider(_containerAdapter.Resolve()),
//}));
+ PreRequestFilters.Add((httpReq, httpRes) =>
+ {
+ //Handles Request and closes Responses after emitting global HTTP Headers
+ if (string.Equals(httpReq.Verb, "OPTIONS", StringComparison.OrdinalIgnoreCase))
+ {
+ httpRes.EndRequest(); //add a 'using ServiceStack;'
+ }
+ });
+
HostContext.GlobalResponseFilters.Add(new ResponseFilter(_logger).FilterResponse);
}