Ejemplo n.º 1
0
 private void Brodcast(HttpResponse res)
 {
     this.Brodcast((ipAddress) => {
         UpnpPlaceHolder placeHolder = new UpnpPlaceHolder(ipAddress.ToString(), SSDP_PORT, SSDP_IP, SSDP_PORT);
         return(res.Encode(placeHolder));
     });
 }
Ejemplo n.º 2
0
        public string GetHttpDevice(UpnpPlaceHolder placeHolder = null)
        {
            MemoryStream memory = new MemoryStream();

            this.Device.GetXmlDocument(placeHolder).Save(memory, SaveOptions.None);
            memory.Position = 0;
            return(System.Text.Encoding.UTF8.GetString(memory.ToArray()));
        }
Ejemplo n.º 3
0
        public byte[] Encode(UpnpPlaceHolder placeHolder = null)
        {
            MemoryStream stream = new MemoryStream();

            this.Encode(stream, placeHolder);
            stream.Position = 0;
            return(stream.ToArray());
        }
Ejemplo n.º 4
0
 public void Encode(Stream memoryStream, UpnpPlaceHolder placeHolder = null, bool flushStream = true)
 {
     memoryStream.WriteLine($"{this.HttpVersion} {this.HttpCode} {this.HttpText}");
     Array.ForEach(this.Headers.Items(), (singleHeader) => memoryStream.WriteLine(singleHeader.ToString()));
     memoryStream.WriteLine("");
     if (flushStream)
     {
         memoryStream.Flush();
     }
 }
Ejemplo n.º 5
0
        private void OnHttpRequestItem(PowerLineContext context, Guid itemName, string itemExtention)
        {
            UpnpEngineDevice device = this.GetDevice(itemName);

            if (device == null)
            {
                context.SetResponse(404, "Unable to detect given element, device not found");
            }
            else
            {
                UpnpPlaceHolder placeHolder      = new UpnpPlaceHolder(context.LocalAddress, context.LocalPort, context.RemoteAddress, context.RemotePort);
                string          rawDeviceUpnpXml = device.GetHttpDevice(placeHolder);
                context.SetRepsonseContentType(device.GetHttpDeviceMime());
                context.SetResponse(200, rawDeviceUpnpXml, false);
            }
        }
Ejemplo n.º 6
0
 public string ToString(UpnpPlaceHolder placeHolder)
 {
     return((placeHolder == null) ? $"{this.Name}: {this.Value}" : $"{this.Name}: {placeHolder.Parse(this.Value)}");
 }