/// <summary> /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed. /// <example> /// httpcontinuedelegate.BeginInvoke(StatusCode, httpHeaders, callback); /// </example> /// </summary> public static IAsyncResult BeginInvoke(this HttpContinueDelegate httpcontinuedelegate, Int32 StatusCode, WebHeaderCollection httpHeaders, AsyncCallback callback) { if (httpcontinuedelegate == null) { throw new ArgumentNullException("httpcontinuedelegate"); } return(httpcontinuedelegate.BeginInvoke(StatusCode, httpHeaders, callback, null)); }
public async Task HttpWebRequest_ContinueDelegateProperty_Success() { await LoopbackServer.CreateServerAsync(async (server, url) => { HttpWebRequest request = WebRequest.CreateHttp(url); request.Method = HttpMethod.Get.Method; HttpContinueDelegate continueDelegate = new HttpContinueDelegate(HttpContinueMethod); request.ContinueDelegate = continueDelegate; _ = request.GetResponseAsync(); await server.AcceptConnectionSendResponseAndCloseAsync(HttpStatusCode.OK, "Content-Type: application/json;charset=UTF-8\r\n", "12345"); Assert.Equal(continueDelegate, request.ContinueDelegate); }); }
public async Task HttpWebRequest_ContinueDelegateProperty_Success() { await LoopbackServer.CreateServerAsync(async (server, url) => { HttpWebRequest request = WebRequest.CreateHttp(url); request.Method = HttpMethod.Get.Method; HttpContinueDelegate continueDelegate = new HttpContinueDelegate(HttpContinueMethod); request.ContinueDelegate = continueDelegate; Task<WebResponse> getResponse = request.GetResponseAsync(); DateTimeOffset utcNow = DateTimeOffset.UtcNow; await LoopbackServer.ReadRequestAndSendResponseAsync(server, $"HTTP/1.1 200 OK\r\n" + $"Date: {utcNow:R}\r\n" + "Content-Type: application/json;charset=UTF-8\r\n" + "Content-Length: 5\r\n" + "\r\n" + "12345"); Assert.Equal(continueDelegate, request.ContinueDelegate); }); }
public async Task HttpWebRequest_ContinueDelegateProperty_Success() { await LoopbackServer.CreateServerAsync(async (server, url) => { HttpWebRequest request = WebRequest.CreateHttp(url); request.Method = HttpMethod.Get.Method; HttpContinueDelegate continueDelegate = new HttpContinueDelegate(HttpContinueMethod); request.ContinueDelegate = continueDelegate; Task <WebResponse> getResponse = request.GetResponseAsync(); DateTimeOffset utcNow = DateTimeOffset.UtcNow; await LoopbackServer.ReadRequestAndSendResponseAsync(server, $"HTTP/1.1 200 OK\r\n" + $"Date: {utcNow:R}\r\n" + "Content-Type: application/json;charset=UTF-8\r\n" + "Content-Length: 5\r\n" + "\r\n" + "12345"); Assert.Equal(continueDelegate, request.ContinueDelegate); }); }