public static Session Send(string method, string url, string version, string headers, byte[] bodyBytes, StringDictionary oNewFlags = null, string hostname = null) { string headerString = BuildHeader(method, url, version, headers); HTTPRequestHeaders header = new HTTPRequestHeaders(); if (!header.AssignFromString(headerString)) { // error MessageBox.Show(@"Failed to AssignFromString"); return(null); } if (hostname != null) { OverrideHost(ref header, hostname); } Session oSession = Send(header, bodyBytes); return(oSession); }
public static string InjectRaw(string rawRequest) { var guid = Guid.NewGuid().ToString(); var hdbd = SplitHdBd.Split(rawRequest, 2); if (hdbd.Length == 2) { var httpheaders = new HTTPRequestHeaders(); httpheaders.AssignFromString(hdbd[0]); httpheaders["Calibur-Composer"] = guid; if (!string.IsNullOrWhiteSpace(hdbd[1])) { httpheaders["Content-Length"] = Encoding.UTF8.GetBytes(hdbd[1]).Length.ToString(); } var headerstr = httpheaders.ToString(true, true, false); FiddlerApplication.oProxy.InjectCustomRequest(headerstr + hdbd[1]); return(guid); } else { throw new ArgumentException("Raw request is invalid."); } }
public Session SendRequest(string sRequest, StringDictionary oNewFlags) { int num; int num2; HTTPHeaderParseWarnings warnings; byte[] emptyByteArray; byte[] bytes = CONFIG.oHeaderEncoding.GetBytes(sRequest); if (!Parser.FindEntityBodyOffsetFromArray(bytes, out num, out num2, out warnings)) { throw new ArgumentException("sRequest did not represent a valid HTTP request", "sRequest"); } string sHeaders = CONFIG.oHeaderEncoding.GetString(bytes, 0, num) + "\r\n\r\n"; HTTPRequestHeaders oHeaders = new HTTPRequestHeaders(); if (!oHeaders.AssignFromString(sHeaders)) { throw new ArgumentException("sRequest did not contain valid HTTP headers", "sRequest"); } if (1 > (bytes.Length - num2)) { emptyByteArray = Utilities.emptyByteArray; } else { emptyByteArray = new byte[bytes.Length - num2]; Buffer.BlockCopy(bytes, num2, emptyByteArray, 0, emptyByteArray.Length); } return this.SendRequest(oHeaders, emptyByteArray, oNewFlags); }