Example #1
0
        public async Task <HttpResponseMessage> Log(string thinkp, string thinkpInstance, string token, string owner,
                                                    SSAPLogLevel severity, string code, string message, string timestamp)
        {
            //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(owner))
                {
                    queryParams.Add("$owner", owner);
                }
                if (!String.IsNullOrWhiteSpace(code))
                {
                    queryParams.Add("$code", code);
                }
                if (!String.IsNullOrWhiteSpace(message))
                {
                    queryParams.Add("$message", message);
                }
                if (!String.IsNullOrWhiteSpace(timestamp))
                {
                    queryParams.Add("$timestamp", timestamp);
                }

                queryParams.Add("$severity", severity.ToString());

                UriBuilder builder = new UriBuilder(String.Format("{0}{1}/log", _serviceBaseUrl, STR_PATH));
                builder.Query = queryParams.ToString();

                return(await client.PostAsync(builder.ToString(), null));
            }
        }
Example #2
0
        /// <summary>
        /// Generates a log Message
        /// </summary>
        /// <param name="thinkp">thinkp</param>
        /// <param name="instanciathinkp">instanciathinkp</param>
        /// <param name="token">token</param>
        /// <param name="level">level</param>
        /// <param name="code">code</param>
        /// <param name="message">message</param>
        /// <param name="timestamp">timestamp</param>
        /// <returns>Log Message</returns>
        public SSAPMessage <SSAPBodyLogMessage> GenerateLogMessage(string thinkp, string instanciathinkp, string token, SSAPLogLevel level, string code, string message, string timestamp)
        {
            var body = new SSAPBodyLogMessage()
            {
                Code            = code,
                Instanciathinkp = instanciathinkp,
                Level           = level,
                Message         = message,
                Owner           = "",
                Thinkp          = thinkp,
                Timestamp       = timestamp,
                Token           = token
            };

            return(new SSAPMessage <SSAPBodyLogMessage>()
            {
                Body = body,
                Direction = SSAPMessageDirectionEnum.REQUEST,
                MessageType = SSAPMessageTypesEnum.LOG,
            });
        }