public void TestWebSite2Post() { const string json = "{Hometown:\"Katmandu\"}"; string relativePath = @"..\..\..\PortlessWebHost.TestWebSite2"; string physicalPath = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, relativePath)); using (WebHost host = new WebHost("/", physicalPath)) { PortlessWebRequest request = host.CreateRequest(new Uri("http://localhost/api/Me")); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = json.Length; using (Stream requestStream = request.GetRequestStream()) { using (TextWriter requestWriter = new StreamWriter(requestStream)) { requestWriter.Write(json); } } using (WebResponse response = request.GetResponse()) { using (MemoryStream responseStream = (MemoryStream)response.GetResponseStream()) { string responseText = Encoding.UTF8.GetString(responseStream.ToArray()); responseText.Should().Contain("Hometown = Katmandu"); } } } }
public HtmlWebResponse getResponse(HtmlWebRequest wr) { PortlessWebRequest request = host.CreateRequest(new Uri(wr.getUrl().toString())); request.Method = wr.getHttpMethod().name(); using (PortlessWebResponse response = request.GetPortlessResponse()) { HtmlWebResponseData responseData = new HtmlWebResponseData( GetResponseBody(response), /*response.StatusCode*/ 200, /*response.StatusDescription*/ "200 OK", GetHeaders(response)); return(new HtmlWebResponse(responseData, wr, 1)); } }
public void TestWebSite2() { string relativePath = @"..\..\..\PortlessWebHost.TestWebSite2"; string physicalPath = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, relativePath)); using (WebHost host = new WebHost("/", physicalPath)) { PortlessWebRequest request = host.CreateRequest(new Uri("http://localhost/Account/Login")); request.Method = "GET"; using (WebResponse response = request.GetResponse()) { using (MemoryStream responseStream = (MemoryStream)response.GetResponseStream()) { string responseText = Encoding.GetEncoding(1252).GetString(responseStream.ToArray()); responseText.Should().Contain("Web Host Test Page 2"); } } } }
public void TestWebSite2WithHttps() { const string url = "https://localhost/Account/ConfirmEmail?userId=11&code=success"; const string relativePath = @"..\..\..\PortlessWebHost.TestWebSite2"; string physicalPath = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, relativePath)); using (WebHost host = new WebHost("/", physicalPath, Protocol.Https)) { PortlessWebRequest request = host.CreateRequest(new Uri(url)); request.Method = "GET"; using (WebResponse response = request.GetResponse()) { using (MemoryStream responseStream = (MemoryStream)response.GetResponseStream()) { string responseText = Encoding.GetEncoding(1252).GetString(responseStream.ToArray()); responseText.Should().Contain("Thank you for confirming your email."); } } } }
public async Task HandleRequest(Request request, Func <Error, Response, Task> callback) { PortlessWebRequest webRequest = host.CreateRequest(request.Url); webRequest.Method = request.Method; await AddHeaders(request, webRequest); AddBody(request, webRequest); using (PortlessWebResponse webResponse = webRequest.GetPortlessResponse()) { Response response = new Response(); response.Url = request.Url; AddHeaders(response, webResponse); using (Stream stream = webResponse.GetResponseStream()) { byte[] responseBytes = new byte[stream.Length]; stream.Read(responseBytes, 0, (int)stream.Length); response.Body = Encoding.UTF8.GetString(responseBytes); } await callback(null, response); } }
public PortlessWebRequest CreateRequest(Uri requestUrl) { return(host.CreateRequest(requestUrl)); }