public HttpContent CreateFormData(HttpResponseMessage previousResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { var content = new ObjectContent(typeof(object), stateVariables.Get<object>(key), new[] { clientCapabilities.GetMediaTypeFormatter(contentType) }); content.Headers.ContentType = contentType; return content; }
public IState NextState(IClientCapabilities clientCapabilities) { var rules = new Rules( When .IsTrue(response => response.ContainsForm(Forms.RequestForQuote)) .Execute(actions => actions.SubmitForm(Forms.RequestForQuote)) .Return( new[] { On.Status(HttpStatusCode.Created) .Do((response, vars) => new QuoteRequested(response, vars)) } ), When .IsTrue(response => response.ContainsLink(Links.Rfq)) .Execute(actions => actions.ClickLink(Links.Rfq)) .Return( new[] { On.Status(HttpStatusCode.OK) .Do((response, vars) => new Started(response, vars)) }) ); return rules.Evaluate(previousResponse, stateVariables, clientCapabilities); }
public IState Evaluate(HttpResponseMessage previousResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { return (from rule in rules select rule.Evaluate(previousResponse, stateVariables, clientCapabilities) into result where result.IsSuccessful select result.State).FirstOrDefault(); }
public IState Execute(HttpResponseMessage response, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { foreach (var result in rules.Select(rule => rule.Evaluate(response, stateVariables, clientCapabilities)).Where(result => result.IsSuccessful)) { return result.State; } return createDefaultState(response, stateVariables, clientCapabilities); }
public IState NextState(IClientCapabilities clientCapabilities) { var rules = new Rules( When.IsTrue(response => true) .Execute(actions => actions.Do(GetHomePage.Instance)) .ReturnState((response, vars) => new Started(response, vars))); return rules.Evaluate(null, stateVariables, clientCapabilities); }
public Result Evaluate(HttpResponseMessage previousResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { if (condition.IsApplicable(previousResponse, stateVariables)) { var newResponse = requestAction.Execute(previousResponse, stateVariables, clientCapabilities); return new Result(true, createNextState.Execute(newResponse, stateVariables, clientCapabilities)); } return Result.Unsuccessful; }
public HttpResponseMessage Execute(HttpResponseMessage previousResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { var linkInfo = link.GetLinkInfo(previousResponse); var request = new HttpRequestMessage { RequestUri = linkInfo.ResourceUri, Method = HttpMethod.Get }; return clientCapabilities.GetHttpClient().Send(request); }
public HttpResponseMessage Execute(HttpResponseMessage previousResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { var formInfo = form.GetFormInfo(previousResponse); var formDataStrategy = form.GetFormDataStrategy(previousResponse); var request = new HttpRequestMessage { RequestUri = formInfo.ResourceUri, Method = formInfo.Method, Content = formDataStrategy.CreateFormData(previousResponse, stateVariables, clientCapabilities) }; return clientCapabilities.GetHttpClient().Send(request); }
public Result Evaluate(HttpResponseMessage newResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { return condition.IsApplicable(newResponse, stateVariables) ? new Result(true, createNextState.Execute(newResponse, stateVariables, clientCapabilities)) : Result.Unsuccessful; }
public IState NextState(IClientCapabilities clientCapabilities) { throw new NotImplementedException(); }
public HttpResponseMessage Execute(HttpResponseMessage previousResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { var generateNextRequest = createRequestActionDelegate(new Actions(clientCapabilities)); return generateNextRequest.Execute(previousResponse, stateVariables, clientCapabilities); }
public IState Execute(HttpResponseMessage currentResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { return createNextStateDelegate(currentResponse, stateVariables); }
public HttpResponseMessage Execute(HttpResponseMessage previousResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { return generateNextRequestDelegate(previousResponse, stateVariables, clientCapabilities); }
public Actions(IClientCapabilities clientCapabilities) { Check.IsNotNull(clientCapabilities, "clientCapabilities"); this.clientCapabilities = clientCapabilities; }
public HttpResponseMessage Execute(HttpResponseMessage previousResponse, ApplicationStateVariables stateVariables, IClientCapabilities clientCapabilities) { return clientCapabilities.GetHttpClient().Get(stateVariables.Get<Uri>(new StringKey("home-page-uri"))); }