Ejemplo n.º 1
0
 /// <summary>
 /// Removes a header
 /// </summary>
 /// <param name="TagName"></param>
 public void RemoveTag(String TagName)
 {
     try
     {
         TheHeaders.Remove(TagName.ToUpper());
     }
     catch (Exception)
     {
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Removes a header
 /// </summary>
 /// <param name="TagName"></param>
 public void RemoveTag(String TagName)
 {
     try
     {
         TheHeaders.Remove(TagName.ToUpper());
     }
     catch (Exception ex)
     {
         OpenSource.Utilities.EventLogger.Log(ex);
     }
 }
Ejemplo n.º 3
0
 public void AppendTag(string TagName, string TagData)
 {
     if (TheHeaders.ContainsKey(TagName.ToUpper()) == false)
     {
         TheHeaders[TagName.ToUpper()] = TagData;
     }
     else
     {
         if (TheHeaders[TagName.ToUpper()].GetType() == typeof(string))
         {
             ArrayList n = new ArrayList();
             n.Add(TheHeaders[TagName.ToUpper()]);
             TheHeaders[TagName.ToUpper()] = n;
         }
         ((ArrayList)TheHeaders[TagName.ToUpper()]).Add(TagData);
     }
 }
Ejemplo n.º 4
0
        private byte[] BuildPacket()
        {
            byte[] buffer;
            if (DataBuffer == null)
            {
                DataBuffer = new Byte[0];
            }

            if (Version == "1.0")
            {
                if ((Method == "") && (ResponseCode == -1))
                {
                    return(DataBuffer);
                }
            }


            UTF8Encoding          UTF8 = new UTF8Encoding();
            String                sbuf;
            IDictionaryEnumerator en = TheHeaders.GetEnumerator();

            en.Reset();

            if (Method != "")
            {
                if (Version != "")
                {
                    sbuf = Method + " " + EscapeString(MethodData) + " HTTP/" + Version + "\r\n";
                }
                else
                {
                    sbuf = Method + " " + EscapeString(MethodData) + "\r\n";
                }
            }
            else
            {
                sbuf = "HTTP/" + Version + " " + ResponseCode.ToString() + " " + ResponseData + "\r\n";
            }
            while (en.MoveNext())
            {
                if (en.Value != null && ((String)en.Key != "CONTENT-LENGTH" || OverrideContentLength == true))
                {
                    if (en.Value.GetType() == typeof(string))
                    {
                        sbuf += (String)en.Key + ": " + (String)en.Value + "\r\n";
                    }
                    else
                    {
                        sbuf += (String)en.Key + ":";
                        foreach (string v in (ArrayList)en.Value)
                        {
                            sbuf += (" " + v + "\r\n");
                        }
                    }
                }
            }
            if (StatusCode == -1 && DontShowContentLength == false)
            {
                sbuf += "Content-Length: " + DataBuffer.Length.ToString() + "\r\n";
            }
            else if (Version != "1.0" && Version != "0.9" && Version != "" && DontShowContentLength == false)
            {
                if (OverrideContentLength == false)
                {
                    sbuf += "Content-Length: " + DataBuffer.Length.ToString() + "\r\n";
                }
            }

            sbuf += "\r\n";

            buffer = new byte[UTF8.GetByteCount(sbuf) + DataBuffer.Length];
            UTF8.GetBytes(sbuf, 0, sbuf.Length, buffer, 0);
            Array.Copy(DataBuffer, 0, buffer, buffer.Length - DataBuffer.Length, DataBuffer.Length);
            return(buffer);
        }
Ejemplo n.º 5
0
 public bool HasTag(string TagName)
 {
     return(TheHeaders.ContainsKey(TagName.ToUpper()));
 }
Ejemplo n.º 6
0
 public IDictionaryEnumerator GetHeaderEnumerator()
 {
     return(TheHeaders.GetEnumerator());
 }