public async Task <HttpTestFullRequest> ReceiveFullRequestAsync() { HttpTestRequest request = await ReceiveRequestAsync().ConfigureAwait(false); string content = await ReceiveContentStringAsync().ConfigureAwait(false); TestHeadersSink trailingHeaders = await ReceiveTrailingHeadersAsync().ConfigureAwait(false); return(new HttpTestFullRequest(request.Method, request.PathAndQuery, request.Version, request.Headers, content, trailingHeaders)); }
public void TestCorrectNoRedirect() { RegexRedirectRule rule = new RegexRedirectRule("/(?<first>[a-z]+)/(?<second>[a-z]+)/?", "/test/?ignore=${second}¶meters=${first}", RegexOptions.IgnoreCase, false); IHttpRequest request = new HttpTestRequest { HttpVersion = "1.0", Uri = new Uri("http://www.google.com/above/all/", UriKind.Absolute) }; IHttpResponse response = request.CreateResponse(new HttpContext()); rule.Process(request, response); Assert.Equal(request.Uri.ToString(), "http://www.google.com/test/?ignore=all¶meters=above"); }
public void TestCorrect() { RegexRedirectRule rule = new RegexRedirectRule("/(?<first>[a-z]+)/(?<second>[a-z]+/?)", "/test/?parameter=${second}&ignore=${first}", RegexOptions.IgnoreCase); IHttpRequest request = new HttpTestRequest { HttpVersion = "1.0", Uri = new Uri("http://www.google.com/above/all/", UriKind.Absolute) }; IHttpResponse response = request.CreateResponse(new HttpContext()); rule.Process(request, response); Assert.Equal(HttpStatusCode.Redirect, response.Status); }