public IRequest Execute(IRequest request) { if (!request.Form.ContainsKey("_method")) return request; var newMethod = request.Form["_method"]; if (string.IsNullOrEmpty(newMethod)) return request; var newRequest = new Request(newMethod, request.Url, httpUtility, request.Body, request.Headers.All, request.UserHostAddress); request.Items.ForEach(newRequest.Items.Add); return newRequest; }
private void InvokeUWeb(UWebRequestParameters parameters, ResponseCallBack responseCallBack, Action<Exception> errorCallback) { try { parameters.Body.Seek(0, SeekOrigin.Begin); var request = new Request(parameters.Method, parameters.Url, httpUtility, parameters.Body, parameters.Headers); engine.HandleRequest( request, response => { var returnCode = GetReturnCode(response); var headers = response.Headers; foreach (var cookie in response.Cookies) { headers.Add("Set-Cookie", cookie.ToEncodedString(httpUtility)); } headers.Add("Content-Type", response.ContentType.ToString()); responseCallBack(returnCode, headers, GetResponseBodyBuilder(response)); }, errorCallback); } catch (Exception e) { errorCallback.Invoke(e); } }
public void SetUp() { httpUtility = A.Fake<IHttpUtility>(); request = new Request("GET", "/uweb", "http", httpUtility); }