private string MakeHeader(ComposeOptions Options) { string header = Version + " " + (int)Number + " " + Text + "\r\n" + "Server: Delta Web Server\r\n" //Fri, 30 Oct 2007 14:19:41 GMT" + "Date: " + DateTime.Now.ToUniversalTime().ToString("r") + "\r\n"; if (Options == ComposeOptions.AllCalculateLength && Message != null) { Headers["Content-Length"] = Message.Length.ToString(); } foreach (var kv in Headers) { header += kv.Key + ": " + kv.Value + "\r\n"; } // Set-Cookie: ckGeneric=CookieBody; expires=Sun, 30-Dec-2007 21:00:00 GMT; path=/ // Set-Cookie: ASPSESSIONIDQABBDSQA=IPDPMMMALDGFLMICEJIOCIPM; path=/ foreach (var Cookie in Cookies) { header += "Set-Cookie: " + Cookie.ToString() + "\r\n"; } header += "\r\n"; return(header); }
private string MakeHeader(ComposeOptions options) { string header = $"{Version} {(int)Number} {Text}\r\nServer: Esiur {Global.Version}\r\nDate: {DateTime.Now.ToUniversalTime().ToString("r")}\r\n"; if (options == ComposeOptions.AllCalculateLength) { Headers["Content-Length"] = Message?.Length.ToString() ?? "0"; } foreach (var kv in Headers) { header += kv.Key + ": " + kv.Value + "\r\n"; } // Set-Cookie: ckGeneric=CookieBody; expires=Sun, 30-Dec-2007 21:00:00 GMT; path=/ // Set-Cookie: ASPSESSIONIDQABBDSQA=IPDPMMMALDGFLMICEJIOCIPM; path=/ foreach (var Cookie in Cookies) { header += "Set-Cookie: " + Cookie.ToString() + "\r\n"; } header += "\r\n"; return(header); }
public bool Compose(ComposeOptions options) { List <byte> msg = new List <byte>(); if (options != ComposeOptions.DataOnly) { msg.AddRange(Encoding.UTF8.GetBytes(MakeHeader(options))); } if (options != ComposeOptions.SpecifiedHeadersOnly) { if (Message != null) { msg.AddRange(Message); } } Data = msg.ToArray(); return(true); }
/// <summary> /// Composes two gates with the logical OR operator. /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <returns>The resulting gate.</returns> public static IGate ComposeOR(IGate a, IGate b, ComposeOptions options = ComposeOptions.None) { IGate result; DecomposeExchange(ref a, ref b); if (a.Type == GateType.OR && b.Type == GateType.OR) { var r = new ORGate(); r.AddInputRange(a.GetInputs()); r.AddInputRange(b.GetInputs()); result = r; } else if (a.Type == GateType.OR) { var r = new ORGate(); r.AddInputRange(a.GetInputs()); r.AddInput(b); result = r; } else { var r = new ORGate(); r.AddInput(a); r.AddInput(b); result = r; } if (0 == (options & ComposeOptions.NoSimplify)) { result = Simplify(result); } TraceCompose(a, b, result, "OR"); return(result); }
/// <summary> /// Composes two gates with the logical OR operator. /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <returns>The resulting gate.</returns> public static IGate ComposeOR(IGate a, IGate b, ComposeOptions options = ComposeOptions.None) { IGate result; DecomposeExchange(ref a, ref b); if (a.Type == GateType.OR && b.Type == GateType.OR) { var r = new ORGate(); r.AddInputRange(a.GetInputs()); r.AddInputRange(b.GetInputs()); result = r; } else if (a.Type == GateType.OR) { var r = new ORGate(); r.AddInputRange(a.GetInputs()); r.AddInput(b); result = r; } else { var r = new ORGate(); r.AddInput(a); r.AddInput(b); result = r; } if (0 == (options & ComposeOptions.NoSimplify)) { result = Simplify(result); } TraceCompose(a, b, result, "OR"); return result; }