|
@@ -45,19 +45,15 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (dto is CompressedResult)
|
|
|
- {
|
|
|
- // Per Google PageSpeed
|
|
|
- // This instructs the proxies to cache two versions of the resource: one compressed, and one uncompressed.
|
|
|
- // The correct version of the resource is delivered based on the client request header.
|
|
|
- // This is a good choice for applications that are singly homed and depend on public proxies for user locality.
|
|
|
- res.AddHeader("Vary", "Accept-Encoding");
|
|
|
- }
|
|
|
+ var vary = "Accept-Encoding";
|
|
|
|
|
|
var hasOptions = dto as IHasOptions;
|
|
|
+ var sharpResponse = res as WebSocketSharpResponse;
|
|
|
|
|
|
if (hasOptions != null)
|
|
|
{
|
|
|
+ //hasOptions.Options["Server"] = "Mono-HTTPAPI/1.1";
|
|
|
+
|
|
|
// Content length has to be explicitly set on on HttpListenerResponse or it won't be happy
|
|
|
string contentLength;
|
|
|
|
|
@@ -79,14 +75,29 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- var sharpResponse = res as WebSocketSharpResponse;
|
|
|
if (sharpResponse != null)
|
|
|
{
|
|
|
sharpResponse.SendChunked = false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ string hasOptionsVary;
|
|
|
+ if (hasOptions.Options.TryGetValue("Vary", out hasOptionsVary))
|
|
|
+ {
|
|
|
+ vary = hasOptionsVary;
|
|
|
+ }
|
|
|
+
|
|
|
+ hasOptions.Options["Vary"] = vary;
|
|
|
}
|
|
|
+
|
|
|
+ //res.KeepAlive = false;
|
|
|
+
|
|
|
+ // Per Google PageSpeed
|
|
|
+ // This instructs the proxies to cache two versions of the resource: one compressed, and one uncompressed.
|
|
|
+ // The correct version of the resource is delivered based on the client request header.
|
|
|
+ // This is a good choice for applications that are singly homed and depend on public proxies for user locality.
|
|
|
+ res.AddHeader("Vary", vary);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|