aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/Channels/ChannelManager.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Session/HttpSessionController.cs32
-rw-r--r--MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs4
3 files changed, 21 insertions, 17 deletions
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
index 2b2c3d291..06408d525 100644
--- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
+++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
@@ -267,7 +267,7 @@ namespace MediaBrowser.Server.Implementations.Channels
{
providerStartIndex = query.StartIndex;
- if (!query.Limit.HasValue || query.Limit.Value > channelInfo.MaxPageSize.Value)
+ if (query.Limit.HasValue && query.Limit.Value > channelInfo.MaxPageSize.Value)
{
throw new ArgumentException(string.Format("Channel {0} only supports a maximum of {1} records at a time.", channel.Name, channelInfo.MaxPageSize.Value));
}
diff --git a/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs b/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs
index 0b0f21e2c..110f66476 100644
--- a/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs
+++ b/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs
@@ -63,17 +63,18 @@ namespace MediaBrowser.Server.Implementations.Session
private Task SendMessage(string name, CancellationToken cancellationToken)
{
- return SendMessage(name, new NameValueCollection(), cancellationToken);
+ return SendMessage(name, new Dictionary<string, string>(), cancellationToken);
}
- private Task SendMessage(string name, NameValueCollection args, CancellationToken cancellationToken)
+ private Task SendMessage(string name, Dictionary<string, string> args, CancellationToken cancellationToken)
{
- return SendMessage(new WebSocketMessage<string>
- {
- MessageType = name,
- Data = string.Empty
+ var url = _postUrl + "/" + name + ToQueryString(args);
- }, cancellationToken);
+ return _httpClient.Post(new HttpRequestOptions
+ {
+ Url = url,
+ CancellationToken = cancellationToken
+ });
}
public Task SendSessionEndedNotification(SessionInfoDto sessionInfo, CancellationToken cancellationToken)
@@ -141,12 +142,7 @@ namespace MediaBrowser.Server.Implementations.Session
public Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken)
{
- return SendMessage(new WebSocketMessage<GeneralCommand>
- {
- MessageType = "GeneralCommand",
- Data = command
-
- }, cancellationToken);
+ return SendMessage(command.Name, command.Arguments, cancellationToken);
}
private string ToQueryString(Dictionary<string, string> nvc)
@@ -154,7 +150,15 @@ namespace MediaBrowser.Server.Implementations.Session
var array = (from item in nvc
select string.Format("{0}={1}", WebUtility.UrlEncode(item.Key), WebUtility.UrlEncode(item.Value)))
.ToArray();
- return "?" + string.Join("&", array);
+
+ var args = string.Join("&", array);
+
+ if (string.IsNullOrEmpty(args))
+ {
+ return args;
+ }
+
+ return "?" + args;
}
}
}
diff --git a/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs b/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs
index e46dab23e..454dff4b9 100644
--- a/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs
+++ b/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs
@@ -154,9 +154,9 @@ namespace MediaBrowser.Server.Implementations.WebSocket
{
if (WebSocketServer != null)
{
- // Calling dispose will also call stop
_logger.Debug("Disposing alchemy server");
- WebSocketServer.Stop();
+
+ WebSocketServer.Dispose();
WebSocketServer = null;
}
}