public void ShouldSetCustomHeaders() { RequestManager manager = new RequestManager(); Request request = new Request { Path = "TestPage.aspx", QueryString = "header=MyCustomHeader", Headers = { { "MyCustomHeader", "custom-header-value" } } }; Response response = manager.ExecuteRequest(request); Assert.Equal("custom-header-value", response.Content); }
public void ShouldCallInitializationHandlerBeforeAndAfterRequest() { RequestManager manager = new RequestManager(); Request request = new Request { Path = "TestPage.aspx", InitializationHandlers = { new InitializationHandler(typeof(SampleRequestInitializationHandler), new object[] { "parameter" }) } }; Response response = manager.ExecuteRequest(request); Assert.Equal("parameter", response.Content); }
public void ShouldRequestPage() { RequestManager manager = new RequestManager(); Request request = new Request { Path = "TestPage.aspx" }; Response response = manager.ExecuteRequest(request); Assert.Equal(200, response.StatusCode); Assert.Equal("Test page", response.Content); }
/// <summary> /// Initializes a new instance of the <see cref="RequestInitializationContext"/> class. /// </summary> /// <param name="request">The request.</param> /// <param name="response">The response.</param> public RequestInitializationContext(Request request, Response response) { if (request == null) { throw new ArgumentNullException("request"); } if (response == null) { throw new ArgumentNullException("response"); } this.request = request; this.response = response; }
/// <summary> /// Executes the request. /// </summary> /// <param name="request">The request.</param> /// <returns>The <see cref="Response"/>.</returns> public Response ExecuteRequest(Request request) { if (request == null) { throw new ArgumentNullException("request"); } if (!HostingEnvironment.IsHosted) { throw new InvalidOperationException("Cannot execute request in environment which is not hosted."); } HttpWorkerRequest workerRequest = this.GetWorkerRequest(request); this.ExecuteWorkerRequest(workerRequest); return this.GetResponse(workerRequest); }
/// <summary> /// Gets the worker request. /// </summary> /// <param name="request">The request.</param> /// <returns> The <see cref="HttpWorkerRequest"/>.</returns> protected virtual HttpWorkerRequest GetWorkerRequest(Request request) { return new WorkerRequest(this.InitializationManager, new RequestInitializationContext(request, new Response()), TextWriter.Null); }