public MoesifResponse(JObject response) { eventType = JObjectUtil.getString(response, MessageCommonParams.EVENT_TYPE); messageId = JObjectUtil.getString(response, MessageCommonParams.MESSAGE_ID); statusCode = JObjectUtil.getString(response, MessageResponseParams.STATUS_CODE); responseHeaders = JObjectUtil.getString(response, MessageResponseParams.HEADERS); responseBody = JObjectUtil.getString(response, MessageResponseParams.BODY); }
public static HttpMessage Parse(string data) { var httpMessage = new HttpMessage(); var request = new HttpRequestMessage(); var response = new HttpResponseMessage(); // Convert the data into json object dynamic jsonObject = JsonConvert.DeserializeObject(data); if (JObjectUtil.containsKeyWithNonEmptyString(jsonObject, MessageCommonParams.EVENT_TYPE) && JObjectUtil.containsKeyWithNonEmptyString(jsonObject, MessageCommonParams.MESSAGE_ID)) { if (jsonObject[MessageCommonParams.EVENT_TYPE] == MessageTypeParams.REQUEST) { httpMessage.IsRequest = true; MoesifRequest mo_req = new MoesifRequest(jsonObject); httpMessage.MessageId = Guid.Parse(mo_req.messageId); request.Method = new HttpMethod(mo_req.method.ToUpper()); request.RequestUri = new Uri(mo_req.uri); request.Properties.Add("UserId", mo_req.userId); request.Properties.Add("CompanyId", mo_req.companyId); request.Properties.Add("ReqHeaders", mo_req.requestHeaders); request.Properties.Add("Metadata", mo_req.metadata); request.Content = new StringContent(mo_req.requestBody); httpMessage.ContextRequestIpAddress = mo_req.ipAddress; httpMessage.ContextRequestUser = mo_req.contextRequestUser; } else { httpMessage.IsRequest = false; MoesifResponse mo_res = new MoesifResponse(jsonObject); httpMessage.MessageId = Guid.Parse(mo_res.messageId); response.StatusCode = (HttpStatusCode)Convert.ToInt32(mo_res.statusCode); response.Content = new StringContent(mo_res.responseBody); TransformResponseHeaders(response, mo_res.responseHeaders); } } else { throw new ArgumentException("Invalid formatted event :" + data); } if (httpMessage.IsRequest) { httpMessage.HttpRequestMessage = request; } else { httpMessage.HttpResponseMessage = response; } return(httpMessage); }
public MoesifRequest(JObject request) { eventType = JObjectUtil.getString(request, MessageCommonParams.EVENT_TYPE); messageId = JObjectUtil.getString(request, MessageCommonParams.MESSAGE_ID); method = JObjectUtil.getString(request, MessageRequestParams.METHOD); uri = JObjectUtil.getString(request, MessageRequestParams.URI); ipAddress = JObjectUtil.getString(request, MessageRequestParams.IP_ADDR); userId = JObjectUtil.getString(request, MessageRequestParams.USER_ID); companyId = JObjectUtil.getString(request, MessageRequestParams.COMPANY_ID); requestHeaders = JObjectUtil.getString(request, MessageRequestParams.HEADERS); requestBody = JObjectUtil.getString(request, MessageRequestParams.BODY); metadata = JObjectUtil.getObjectDict(request, MessageRequestParams.METADATA); contextRequestUser = JObjectUtil.getStringDefaultVal(request, MessageRequestParams.CONTEXT_USER, null); }
public static Boolean containsKeyWithNonEmptyString(JObject j, String key) { return(j.ContainsKey(key) && !String.IsNullOrEmpty(JObjectUtil.getString(j, key))); }