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;
        }
Example #2
0
        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);
            }
        }
Example #3
0
 public void SetUp()
 {
     httpUtility = A.Fake<IHttpUtility>();
     request = new Request("GET", "/uweb", "http", httpUtility);
 }