public async Task <Dictionary <string, object> > HandleRequest(ExternalTask externalTask, Dictionary <string, object> resultVariables) { SendEmailDescriptor content = new SendEmailDescriptor() { to = new MailAddress() { Email = externalTask.Variables["email_to"].Value.ToString(), Name = externalTask.Variables["name_to"].Value.ToString() }, from = new MailAddress() { Email = externalTask.Variables["email_from"].Value.ToString(), Name = externalTask.Variables["name_from"].Value.ToString() }, subject = externalTask.Variables["subject"].Value.ToString(), htmlContent = externalTask.Variables["htmlContent"].Value.ToString(), textContent = externalTask.Variables["textContent"].Value.ToString() }; StringContent stringContent = new StringContent(JsonConvert.SerializeObject(content), System.Text.Encoding.UTF8, "application/json"); HandleRequestContext a = new HandleRequestContext(_httpClient); resultVariables = await a.Post(resultVariables, "/email", stringContent); return(resultVariables); }
public async Task <Dictionary <string, object> > HandleRequest(ExternalTask externalTask, Dictionary <string, object> resultVariables) { double lat = externalTask.Variables.ContainsKey("latitude") ? Double.Parse(externalTask.Variables["latitude"].Value.ToString(), System.Globalization.NumberStyles.Number) : 0; double lon = externalTask.Variables.ContainsKey("longitude") ? Double.Parse(externalTask.Variables["longitude"].Value.ToString(), System.Globalization.NumberStyles.Number) : 0; HttpResponseMessage response = new HttpResponseMessage(); HandleRequestContext a = new HandleRequestContext(_httpClient); string result = await a.Get(resultVariables, "/weather/" + lat + "/" + lon); Forecast forecast = JsonConvert.DeserializeObject <Forecast>(result); Dictionary <string, object> rv = new Dictionary <string, object>() { { "weather_temp", forecast.Currently.Temperature }, { "weather_summary", forecast.Currently.Summary } }; return(rv); }
public async Task <Dictionary <string, object> > HandleRequest(ExternalTask externalTask, Dictionary <string, object> resultVariables) { string action = externalTask.Variables.ContainsKey("Action") ? externalTask.Variables["Action"].Value.ToString() : null; string table = externalTask.Variables.ContainsKey("Table") ? externalTask.Variables["Table"].Value.ToString() : null; string primaryKey = externalTask.Variables.ContainsKey("PrimaryKey") ? externalTask.Variables["PrimaryKey"].Value.ToString() : null; string data = externalTask.Variables.ContainsKey("Data") ? externalTask.Variables["Data"].Value.ToString() : null; DataDescriptor descriptor = new DataDescriptor() { Table_Name = table, PrimaryKey = primaryKey, Data = data != null?JsonConvert.DeserializeObject <IDictionary <string, JToken> >(data) : null }; StringContent stringContent = new StringContent(JsonConvert.SerializeObject(descriptor), System.Text.Encoding.UTF8, "application/json"); HttpResponseMessage response = new HttpResponseMessage(); HandleRequestContext a = new HandleRequestContext(_httpClient); switch (action) { case "GET": string result = await a.Get(resultVariables, Postfix + "/" + descriptor.Table_Name + "/" + descriptor.PrimaryKey); resultVariables = JsonConvert.DeserializeObject <Dictionary <string, object> >(result); break; case "POST": resultVariables = await a.Post(resultVariables, Postfix, stringContent); break; case "PUT": resultVariables = await a.Put(resultVariables, Postfix, stringContent); break; } return(resultVariables); }
/// <summary> /// /// </summary> /// <see cref="IHttpModule.HandleRequest(IHttpRequestContext)" /> public IHttpModuleHandleRequestResult HandleRequest(IHttpRequestContext context) { if (context == null) { throw new ArgumentNullException("context"); } HttpModuleHandleRequestResult result = new HttpModuleHandleRequestResult(); result.RequestContext = context; try { BeforeHandleRequestContext beforeHandleCtx = new BeforeHandleRequestContext(); { beforeHandleCtx.Http = context; beforeHandleCtx.InvokeAfterHandleRequest = true; beforeHandleCtx.InvokeHandleRequest = true; this.OnBeforeHandleRequest(beforeHandleCtx); } HandleRequestContext handleCtx = new HandleRequestContext(); bool requestWasHandled = false; { handleCtx.Http = context; handleCtx.InvokeAfterHandleRequest = beforeHandleCtx.InvokeAfterHandleRequest; if (beforeHandleCtx.InvokeHandleRequest) { this.OnHandleRequest(handleCtx); requestWasHandled = true; } } if (handleCtx.InvokeAfterHandleRequest) { AfterHandleRequestContext afterHandleCtx = new AfterHandleRequestContext(); afterHandleCtx.RequestWasHandled = requestWasHandled; { afterHandleCtx.Http = context; this.OnAfterHandleRequest(afterHandleCtx); } } result.Errors = new Exception[0]; } catch (Exception ex) { AggregateException aggEx = ex as AggregateException; if (aggEx == null) { aggEx = new AggregateException(new Exception[] { ex }); } result.Errors = CollectionHelper.AsArray(aggEx.Flatten().InnerExceptions); } return(result); }