public IHttpRequestInterceptionBuilder OnRequest(Func <HttpRequest, bool> requestPredicate = null) { var interceptor = new HttpRequestInterception(requestPredicate); RegisteredInterceptions.Add(interceptor); return(interceptor); // so the caller can customize it }
public IHttpRequestInterceptionBuilder OnRequest(HttpMethod method, string url = null) { var interceptor = new HttpRequestInterception(method, url); RegisteredInterceptions.Add(interceptor); return(interceptor); // so the caller can customize it }
HttpResponse ProcessRequest(string filename = "") { var matchingInterceptor = RegisteredInterceptions.FirstOrDefault(i => i.Matches(Request)); var httpWebRequest = matchingInterceptor != null ? new StubbedHttpWebRequest(matchingInterceptor) : Request.PrepareRequest(); var response = new HttpResponse(_decoder); response.GetResponse(httpWebRequest, filename, StreamResponse); Response = response; if (ThrowExceptionOnHttpError && IsHttpError()) { throw new HttpException(Response.StatusCode, Response.StatusDescription); } return(Response); }