Ejemplo n.º 1
0
        private void X_GetFeatureList(MyWebRequest request)
        {
            StringBuilder sb = new StringBuilder();

            using (XmlWriter writer = XmlWriter.Create(sb, new XmlWriterSettings()
            {
                OmitXmlDeclaration = true
            }))
            {
                writer.WriteStartElement("Features", "urn:schemas-upnp-org:av:avs");
                writer.WriteAttributeString("xmlns", "xsi", null, "http://www.w3.org/2001/XMLSchema-instance");
                writer.WriteAttributeString("xsi", "schemaLocation", null, "urn:schemas-upnp-org:av:avs http://www.upnp.org/schemas/av/avs.xsd");

                writer.WriteStartElement("Feature");
                writer.WriteAttributeString("name", "samsung.com_BASICVIEW");
                writer.WriteAttributeString("version", "1");

                writer.WriteStartElement("container");
                writer.WriteAttributeString("id", "0");
                writer.WriteAttributeString("type", "object.item.videoItem");
                writer.WriteEndElement();

                writer.WriteEndElement();

                writer.WriteEndElement();
            }
            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody(sb.ToString());
        }
Ejemplo n.º 2
0
        private void GetCurrentConnectionInfo(MyWebRequest request,
                                              [AliasAttribute("ConnectionID")][UpnpServiceArgument("A_ARG_TYPE_ConnectionID")] string ConnectionID)
        {
            if (ConnectionID != "0")
            {
                throw new SoapException(402, "Invalid Args");
            }

            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody("-1", "-1", string.Empty, string.Empty, "-1", "Output", "OK");
        }
Ejemplo n.º 3
0
        private void GetDescription(MyWebRequest request)
        {
            MyWebResponse response = request.GetResponse();

            response.AddHeader(HttpHeader.ContentLength, this.descArray.Length.ToString());
            response.AddHeader(HttpHeader.ContentType, "text/xml; charset=\"utf-8\"");

            using (MemoryStream stream = new MemoryStream(this.descArray))
            {
                response.SendHeaders();

                stream.CopyTo(response.GetStream());
            }
        }
Ejemplo n.º 4
0
        public void SendResponse(MyWebRequest req)
        {
            string res;

            try
            {
                res = GetPlaylist(req);
            }
            catch (Exception ex)
            {
                res = ex.Message;
            }

            MyWebResponse resp = req.GetResponse();

            resp.SendText(res);
        }
Ejemplo n.º 5
0
        private void Browse(MyWebRequest request,
                            [ObfuscationAttribute][UpnpServiceArgument("A_ARG_TYPE_ObjectID")][AliasAttribute("ObjectID")] string ObjectID,
                            [ObfuscationAttribute][UpnpServiceArgument("A_ARG_TYPE_BrowseFlag")][AliasAttribute("BrowseFlag")] string BrowseFlag,
                            [ObfuscationAttribute][UpnpServiceArgument("A_ARG_TYPE_Filter")][AliasAttribute("Filter")] string Filter,
                            [ObfuscationAttribute][UpnpServiceArgument("A_ARG_TYPE_Index")][AliasAttribute("StartingIndex")] string StartingIndex,
                            [ObfuscationAttribute][UpnpServiceArgument("A_ARG_TYPE_Count")][AliasAttribute("RequestedCount")] string RequestedCount,
                            [ObfuscationAttribute][UpnpServiceArgument("A_ARG_TYPE_SortCriteria")][AliasAttribute("SortCriteria")] string SortCriteria)
        {
            string     Result = "", NumberReturned = "", TotalMatches = "";
            uint       startingIndex, requestedCount;
            BrowseFlag browseFlag;

            if (!uint.TryParse(StartingIndex, out startingIndex) || !uint.TryParse(RequestedCount, out requestedCount) ||
                !Enum.TryParse(BrowseFlag, true, out browseFlag))
            {
                if (P2pProxyApp.Debug)
                {
                    Console.WriteLine("Invalid Args");
                }
                throw new SoapException(402, "Invalid Args");
            }


            SortCriteria = (SortCriteria == string.Empty) ? "+dc:title" : SortCriteria;
            try
            {
                this.device.ItemManager.Browse(request.Headers, ObjectID, browseFlag, Filter, startingIndex, requestedCount,
                                               SortCriteria, out Result, out NumberReturned, out TotalMatches);
            }
            catch (Exception ex)
            {
                P2pProxyApp.Log.Write(string.Format("Content::Browse({0}) - {1}", ObjectID, ex.Message), TypeMessage.Error);
                return;
            }


            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody(Result, NumberReturned, TotalMatches, "0");
        }
Ejemplo n.º 6
0
        private void GetCurrentConnectionIDs(MyWebRequest request)
        {
            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody("0");
        }
Ejemplo n.º 7
0
        private void GetProtocolInfo(MyWebRequest request)
        {
            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody(sourceProtocolInfo, string.Empty);
        }
Ejemplo n.º 8
0
        public MyWebResponse PostJsonShipStation(object s, string address)
        {
            ServicePointManager.DefaultConnectionLimit = 1;
            var oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            string sJSON = oSerializer.Serialize(s);
            string wRespStatusCode = string.Empty;
            string responseText = string.Empty;
            var r = new MyWebResponse();
            bool bwaserror = false;

            var http = (HttpWebRequest)WebRequest.Create(new Uri(address));
            http.Accept = "application/json";
            http.ContentType = "application/json";
            http.Method = "POST";
            http.Headers.Add("Authorization", "Basic Y2E2YjFlOTExM2ZlNGY3YTllMjFlYmEwNmVmZTE0N2M6NjM1MDkwNzQ2MzM5NDlkOGI4ZDQwNGQ3ZTc2YTYwMDE=");
            http.KeepAlive = false;
            var encoding = new ASCIIEncoding();
            Byte[] bytes = encoding.GetBytes(sJSON);

            Stream newStream = http.GetRequestStream();
            newStream.Write(bytes, 0, bytes.Length);
            newStream.Close();

            HttpWebResponse response = null;

            try
            {
                response = (HttpWebResponse)http.GetResponse();
            }
            catch (WebException we)
            {
                wRespStatusCode = ((HttpWebResponse)we.Response).StatusCode.ToString();
                bwaserror = true;
                r.bexception = true;
                using (var reader = new System.IO.StreamReader(we.Response.GetResponseStream(), encoding))
                {
                    responseText = reader.ReadToEnd();
                    if (responseText.IndexOf("ExceptionMessage") > 0)
                    {
                        responseText = responseText.Substring(responseText.IndexOf("ExceptionMessage"));
                        responseText = responseText.Substring(0, responseText.IndexOf("ExceptionType") - 1);
                        responseText = responseText.Replace("\\", "");
                        responseText = responseText.Replace("\"", "");
                        r.smessage = responseText;
                    }
                    else
                    {
                        responseText = responseText.Replace("\\", "");
                        responseText = responseText.Replace("\"", "");
                        r.smessage = responseText;
                    }
                }
                r.smessage += " " + wRespStatusCode;
                // r.smessage = we.InnerException.ToString();
                r.statuscode = wRespStatusCode;
            }

            if (bwaserror == false)
            {
                if (wRespStatusCode == "")
                {
                    wRespStatusCode = response.StatusCode.ToString();
                    r.bexception = false;
                    r.statuscode = wRespStatusCode;
                }

                using (var reader = new System.IO.StreamReader(response.GetResponseStream(), encoding))
                {
                    responseText = reader.ReadToEnd();
                    r.smessage = responseText;
                }
            }
            try
            {
                response.Close();
            }
            catch { }
            try
            {
                newStream.Dispose();
            }
            catch { }
            try
            {
                response.Dispose();
            }
            catch { }
            try
            {
                bytes = null;
            }
            catch { }

            return r;
        }
Ejemplo n.º 9
0
        private void GetSystemUpdateID(MyWebRequest request)
        {
            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody("0");
        }
Ejemplo n.º 10
0
        private void GetSortCapabilities(MyWebRequest request)
        {
            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody("dc:title,dc:date");
        }
Ejemplo n.º 11
0
        private void GetSearchCapabilities(MyWebRequest request)
        {
            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody("");
        }
        private void IsValidated(MyWebRequest request, [UpnpServiceArgument("A_ARG_TYPE_DeviceID")][AliasAttribute("DeviceID")] string DeviceID)
        {
            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody("1");
        }
        private void RegisterDevice(MyWebRequest request, [UpnpServiceArgument("A_ARG_TYPE_RegistrationReqMsg")][AliasAttribute("RegistrationReqMsg")] string RegistrationReqMsg)
        {
            MyWebResponse response = request.GetResponse();

            response.SendSoapHeadersBody("OK");
        }