private async Task <UpnpDeviceResponse> CreateUpnpDeviceAsync(DiscoveredSsdpDevice device) { var info = await device.GetDeviceInfo(); var headers = device.ResponseHeaders?.ToDictionary( h => h.Key, h => string.Join(" ", h.Value), StringComparer.OrdinalIgnoreCase); headers = headers ?? new Dictionary <string, string>(0); string server; string location; string usn = info.Udn; if (!headers.TryGetValue("location", out location)) { location = device.DescriptionLocation.AbsoluteUri; } if (!headers.TryGetValue("server", out server)) { server = string.Empty; } var response = new UpnpDeviceResponse(location, server, usn) { FriendlyName = info.FriendlyName, Manufacturer = info.Manufacturer, ModelName = info.ModelName }; foreach (var keyValuePair in headers) { response.AddHeader(keyValuePair.Key, keyValuePair.Value); } return(response); }
private async Task<UpnpDeviceResponse> CreateUpnpDeviceAsync(DiscoveredSsdpDevice device) { var info = await device.GetDeviceInfo(); var headers = device.ResponseHeaders?.ToDictionary( h => h.Key, h => string.Join(" ", h.Value), StringComparer.OrdinalIgnoreCase); headers = headers ?? new Dictionary<string, string>(0); string server; string location; string usn = info.Udn; if (!headers.TryGetValue("location", out location)) { location = device.DescriptionLocation.AbsoluteUri; } if (!headers.TryGetValue("server", out server)) { server = string.Empty; } var response = new UpnpDeviceResponse(location, server, usn) { FriendlyName = info.FriendlyName, Manufacturer = info.Manufacturer, ModelName = info.ModelName }; foreach (var keyValuePair in headers) { response.AddHeader(keyValuePair.Key, keyValuePair.Value); } return response; }