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)); } }
/// <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, }); }