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()); }
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"); }
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()); } }
public void SendResponse(MyWebRequest req) { string res; try { res = GetPlaylist(req); } catch (Exception ex) { res = ex.Message; } MyWebResponse resp = req.GetResponse(); resp.SendText(res); }
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"); }
private void GetCurrentConnectionIDs(MyWebRequest request) { MyWebResponse response = request.GetResponse(); response.SendSoapHeadersBody("0"); }
private void GetProtocolInfo(MyWebRequest request) { MyWebResponse response = request.GetResponse(); response.SendSoapHeadersBody(sourceProtocolInfo, string.Empty); }
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; }
private void GetSystemUpdateID(MyWebRequest request) { MyWebResponse response = request.GetResponse(); response.SendSoapHeadersBody("0"); }
private void GetSortCapabilities(MyWebRequest request) { MyWebResponse response = request.GetResponse(); response.SendSoapHeadersBody("dc:title,dc:date"); }
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"); }