public static HttpWebRequest InitializeWebRequest(ParsedHttpRequest parsed, Action <HttpWebRequest> callback = null) { var req = (HttpWebRequest)WebRequest.Create(parsed.Url); req.SetHttpHeaders(parsed.Headers); req.AddCookies(parsed); callback?.Invoke(req); req.SetRequestData(parsed.RequestBody); return(req); }
private static void AddCookies(this HttpWebRequest request, ParsedHttpRequest parsed) { if (parsed.CookieContainer != null) { request.CookieContainer = parsed.CookieContainer; return; } if (parsed.Cookies != null) { request.SetHttpCookies(parsed.Cookies, parsed.Uri); } }
public static ParsedHttpRequest ParseRawRequest(string raw, IgnoreHttpParserOptions options = null) { try { var lines = SplitLines(raw); var requestLine = new RequestLine(lines); var requestHeaders = new RequestHeaders(lines); requestHeaders.AddHeader("Method", requestLine.Method); requestHeaders.AddHeader("HttpVersion", requestLine.HttpVersion); var requestCookies = new RequestCookies(lines); var requestBody = new RequestBody(requestLine, lines); var parsed = new ParsedHttpRequest(options) { Url = requestLine.Url, Uri = new Uri(requestLine.Url), Headers = requestHeaders.Headers, Cookies = requestCookies.ParsedCookies, RequestBody = requestBody.Body }; parsed.ApplyIgnoreOptions(); return(parsed); } catch (CouldNotParseHttpRequestException c) { Console.WriteLine($"Could not parse the raw request. {c.Message}"); throw; } catch (Exception e) { Console.WriteLine($"Unhandled error parsing the raw request: {raw}\r\nError {e.Message}"); throw; } }
public IHttpWebRequest BuildRequest(ParsedHttpRequest parsed) { var request = HttpWebRequestBuilder.InitializeWebRequest(parsed); return(new HttpWebRequestWrapper(request)); }