RequestObject.cs
using sozluk_backend.Core.Sys.Logging;
using System;
using System.Collections.Generic;
using System.IO.Pipes;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace sozluk_backend.Core.Sys.Request
{
clast RequestObject
{
private NamedPipeServerStream serverIoPipe;
private Dictionary items;
public RequestObject(NamedPipeServerStream nps, byte[] requestBuffer, int bufferLength)
{
this.serverIoPipe = nps;
BuildRequestObjectAndQueue(requestBuffer, bufferLength);
}
private string NormalizeValue(string value)
{
value = value.Replace("$lt;", "").Replace("$amp;", "&").Replace("$eq;", "=")
.Replace("$percnt;", "%");
value = System.Web.HttpUtility.UrlDecode(value, Encoding.GetEncoding("ISO-8859-9"));
value = System.Web.HttpUtility.HtmlDecode(value).Replace("$plus;","+");
return value;
}
private void Parse(string data)
{
string key,value, tagEnd;
int beg=-1, end=0;
beg = data.IndexOf("", beg);
if (end == -1)
break;
beg++;
key = data.Substring(beg, end - beg);
tagEnd = string.Format("", key);
beg = end + 1;
end = data.IndexOf(tagEnd, beg);
if (end == -1)
break;
value = data.Substring(beg, end - beg);
items.Add(key.ToLower(), NormalizeValue(value));
beg = data.IndexOf("