public async Task <HttpResponseMessage> SubscribeCommand(string thinkp, string thinkpInstance, string token, SSAPCommandType type, string endpoint) { //data validation if (String.IsNullOrWhiteSpace(thinkp) || String.IsNullOrWhiteSpace(thinkpInstance) || String.IsNullOrWhiteSpace(token)) { return new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(STR_BAD_REQUEST_KP) } } ; if (String.IsNullOrWhiteSpace(token)) { return new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent(STR_BAD_REQUEST_TOKEN) } } ; using (var client = new HttpClient()) { //client config client.BaseAddress = new Uri(_serviceBaseUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(STR_APPLICATION_HEADER)); //Config URI var queryParams = HttpUtility.ParseQueryString(string.Empty); if (!String.IsNullOrWhiteSpace(thinkp)) { queryParams.Add("$thinkp", thinkp); } if (!String.IsNullOrWhiteSpace(thinkpInstance)) { queryParams.Add("$kp", thinkpInstance); } if (!String.IsNullOrWhiteSpace(token)) { queryParams.Add("$token", token); } if (!String.IsNullOrWhiteSpace(endpoint)) { queryParams.Add("$endpoint", endpoint); } queryParams.Add("$type", type.ToString()); UriBuilder builder = new UriBuilder(String.Format("{0}{1}/subscribe_command", _serviceBaseUrl, STR_PATH)); builder.Query = queryParams.ToString(); return(await client.GetAsync(builder.ToString())); } }
public async Task <HttpResponseMessage> Command(string sessionKey, string thinkp, string thinkpInstance, SSAPCommandType type, Dictionary <string, string> args) { using (var client = new HttpClient()) { //client config client.BaseAddress = new Uri(_serviceBaseUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(STR_APPLICATION_HEADER)); //Config URI var queryParams = HttpUtility.ParseQueryString(string.Empty); if (!String.IsNullOrWhiteSpace(sessionKey)) { queryParams.Add("$sessionKey", sessionKey); } if (!String.IsNullOrWhiteSpace(thinkp)) { queryParams.Add("$thinkp", thinkp); } if (!String.IsNullOrWhiteSpace(thinkpInstance)) { queryParams.Add("$kp", thinkpInstance); } queryParams.Add("$type", type.ToString()); UriBuilder builder = new UriBuilder(String.Format("{0}{1}/command", _serviceBaseUrl, STR_PATH)); builder.Query = queryParams.ToString(); if (args == null) { args = new Dictionary <string, string>(); } return(await client.PostAsJsonAsync <Dictionary <string, string> >(builder.ToString(), args)); } }
public SSAPMessage <SSAPBodySubscribeCommandMessage> GenerateSubscribeCommandMessage(string thinkp, string thinkpInstance, string token, SSAPCommandType commandType) { var body = new SSAPBodySubscribeCommandMessage() { Thinkp = thinkp, ThinkpInstance = thinkpInstance, Token = token }; return(new SSAPMessage <SSAPBodySubscribeCommandMessage>() { Body = body, Direction = SSAPMessageDirectionEnum.REQUEST, MessageType = SSAPMessageTypesEnum.SUBSCRIBECOMMAND }); }
/// <summary> /// Generates a command Message /// </summary> /// <param name="sessionKey">sessionKey</param> /// <param name="thinkp">thinkp</param> /// <param name="instanciathinkp">instanciathinkp</param> /// <param name="commandType">commandType</param> /// <param name="args">args</param> /// <returns>Command Message</returns> public SSAPMessage <SSAPBodyCommandMessage> GenerateCommandMessage(string sessionKey, string thinkp, string thinkpInstance, SSAPCommandType commandType, Dictionary <String, String> args) { var body = new SSAPBodyCommandMessage() { Args = args, Thinkp = thinkp, ThinkpInstance = thinkpInstance, Type = SSAPCommandType.STATUS }; return(new SSAPMessage <SSAPBodyCommandMessage>() { SessionKey = sessionKey, Body = body, Direction = SSAPMessageDirectionEnum.REQUEST, MessageType = SSAPMessageTypesEnum.COMMAND }); }