private async void SendAsync(string methodName, string url) { WebRequestMethod method = WebRequestUtility.GetMethod(methodName); var request = new WebRequest(method, url); await OnSendAsync(request); }
protected virtual async Task <IWebRequest> OnCreateRequestAsync(HttpListenerContext context) { HttpListenerRequest listenerRequest = context.Request; WebRequestMethod method = WebRequestUtility.GetMethod(listenerRequest.HttpMethod); var request = new WebRequest(method, listenerRequest.RawUrl); foreach (string key in listenerRequest.Headers.AllKeys) { string value = listenerRequest.Headers.Get(key); request.Headers.Add(key, value); } if (listenerRequest.HasEntityBody) { await using var memoryStream = new MemoryStream(); await listenerRequest.InputStream.CopyToAsync(memoryStream); byte[] bytes = memoryStream.ToArray(); if (bytes.Length > 0) { request.SetData(bytes); } } Log.Debug("Received web request", new { request.Method, request.Url, request.HasData }); return(request); }