Example #1
0
        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()));
            }
        }
Example #2
0
        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));
            }
        }
Example #3
0
        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
            });
        }
Example #4
0
        /// <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
            });
        }