private async void OnRequestPaused(object sender, RequestPausedEventArgs e) { if (this.NetworkRequestSent != null) { this.NetworkRequestSent(this, new NetworkRequestSentEventArgs(e.RequestData)); } foreach (var handler in this.requestHandlers) { if (handler.RequestMatcher.Invoke(e.RequestData)) { if (handler.RequestTransformer != null) { await this.session.Value.Domains.Network.ContinueRequest(handler.RequestTransformer(e.RequestData)); return; } if (handler.ResponseSupplier != null) { await this.session.Value.Domains.Network.ContinueRequestWithResponse(e.RequestData, handler.ResponseSupplier(e.RequestData)); return; } } } await this.session.Value.Domains.Network.ContinueRequestWithoutModification(e.RequestData); }
private void OnFetchRequestPaused(object sender, Fetch.RequestPausedEventArgs e) { if (e.ResponseErrorReason == null && e.ResponseStatusCode == null) { RequestPausedEventArgs wrapped = new RequestPausedEventArgs(); wrapped.RequestData = new HttpRequestData() { RequestId = e.RequestId, Method = e.Request.Method, Url = e.Request.Url, PostData = e.Request.PostData, Headers = new Dictionary <string, string>(e.Request.Headers) }; this.OnRequestPaused(wrapped); } else { ResponsePausedEventArgs wrapped = new ResponsePausedEventArgs(); wrapped.ResponseData = new HttpResponseData() { RequestId = e.RequestId, StatusCode = e.ResponseStatusCode.Value, Url = e.Request.Url, ResourceType = e.ResourceType.ToString(), ErrorReason = e.ResponseErrorReason.HasValue ? e.ResponseErrorReason.Value.ToString() : "" }; foreach (var header in e.ResponseHeaders) { wrapped.ResponseData.Headers.Add(header.Name, header.Value); } this.OnResponsePaused(wrapped); } }
private void OnFetchRequestPaused(object sender, Fetch.RequestPausedEventArgs e) { if (e.ResponseErrorReason == null && e.ResponseStatusCode == null) { RequestPausedEventArgs wrapped = new RequestPausedEventArgs(); wrapped.RequestData = new HttpRequestData() { RequestId = e.RequestId, Method = e.Request.Method, Url = e.Request.Url, PostData = e.Request.PostData, Headers = new Dictionary <string, string>(e.Request.Headers) }; this.OnRequestPaused(wrapped); } else { ResponsePausedEventArgs wrappedResponse = new ResponsePausedEventArgs(); wrappedResponse.ResponseData = new HttpResponseData() { RequestId = e.RequestId, Url = e.Request.Url, ResourceType = e.ResourceType.ToString() }; if (e.ResponseStatusCode.HasValue) { wrappedResponse.ResponseData.StatusCode = e.ResponseStatusCode.Value; } if (e.ResponseHeaders != null) { foreach (var header in e.ResponseHeaders) { if (header.Name.ToLowerInvariant() == "set-cookie") { wrappedResponse.ResponseData.CookieHeaders.Add(header.Value); } else { if (wrappedResponse.ResponseData.Headers.ContainsKey(header.Name)) { string currentHeaderValue = wrappedResponse.ResponseData.Headers[header.Name]; wrappedResponse.ResponseData.Headers[header.Name] = currentHeaderValue + ", " + header.Value; } else { wrappedResponse.ResponseData.Headers.Add(header.Name, header.Value); } } } } this.OnResponsePaused(wrappedResponse); } }
private void OnFetchRequestPaused(object sender, Fetch.RequestPausedEventArgs e) { RequestPausedEventArgs wrapped = new RequestPausedEventArgs(); if (e.ResponseErrorReason == null && e.ResponseStatusCode == null) { wrapped.RequestData = new HttpRequestData() { RequestId = e.RequestId, Method = e.Request.Method, Url = e.Request.Url, PostData = e.Request.PostData, Headers = new Dictionary <string, string>(e.Request.Headers) }; } this.OnRequestPaused(wrapped); }