added upnp ConnectionManager.cs

This commit is contained in:
Luke Pulverenti
2014-05-20 20:56:24 -04:00
parent ad3c30c145
commit 1774e5b1ac
23 changed files with 779 additions and 281 deletions

View File

@@ -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));
}

View File

@@ -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;
}
}
}

View File

@@ -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;
}
}