コード例 #1
0
        public async static Task <EventRequestModel> genEventRequestModel(HttpMessage request,
                                                                          string ReqHeadersName,
                                                                          string RequestTimeName,
                                                                          string _ApiVersion, string clientIpAddress)
        {
            var h       = request.HttpRequestMessage;
            var reqBody = h.Content != null
                            ? await h.Content.ReadAsStringAsync()
                            : null;

            var reqHeaders     = HeadersUtils.deSerializeHeaders(h.Properties[ReqHeadersName]);
            var reqBodyWrapper = BodyUtil.Serialize(reqBody);


            EventRequestModel moesifRequest = new EventRequestModel()
            {
                Time = (DateTime)h.Properties[RequestTimeName],
                Uri  = h.RequestUri.OriginalString,
                /*	Uri = (String)request.HttpRequestMessage.Headers.GetValues("originalURL").FirstOrDefault(),*/
                Verb       = h.Method.ToString(),
                Headers    = reqHeaders,
                ApiVersion = _ApiVersion,
                /*IpAddress = null,*/
                /*IpAddress = (String)request.HttpRequestMessage.Headers.GetValues("clientIPAddress").FirstOrDefault(),*/
                IpAddress        = clientIpAddress,
                Body             = reqBodyWrapper.Item1,
                TransferEncoding = reqBodyWrapper.Item2
            };

            return(moesifRequest);
        }
コード例 #2
0
        public async static Task <EventRequestModel> genEventRequestModel(HttpMessage request,
                                                                          string ReqHeadersName,
                                                                          string RequestTimeName,
                                                                          string _ApiVersion)
        {
            var h       = request.HttpRequestMessage;
            var reqBody = h.Content != null
                            ? await h.Content.ReadAsStringAsync()
                            : null;

            var reqHeaders     = HeadersUtils.deSerializeHeaders(h.Properties[ReqHeadersName]);
            var reqBodyWrapper = BodyUtil.Serialize(reqBody);
            EventRequestModel moesifRequest = new EventRequestModel()
            {
                Time             = (DateTime)h.Properties[RequestTimeName],
                Uri              = h.RequestUri.OriginalString,
                Verb             = h.Method.ToString(),
                Headers          = reqHeaders,
                ApiVersion       = _ApiVersion,
                IpAddress        = null,
                Body             = reqBodyWrapper.Item1,
                TransferEncoding = reqBodyWrapper.Item2
            };

            return(moesifRequest);
        }
コード例 #3
0
        private ContextModel genContext(String b64EncodedStr)
        {
            ContextModel context = null;

            try {
                if (!string.IsNullOrWhiteSpace(b64EncodedStr))
                {
                    var jStr = BodyUtil.b64Decode(b64EncodedStr);
                    jStr = jStr.Replace("\r\n", "").Replace("\\", "");
                    if (!(jStr.Trim().Replace(" ", "") == "{}")) // Empty Json
                    {
                        ContextUserModel m = ContextUserModel.deserialize(jStr);
                        if (null != m)
                        {
                            context      = new ContextModel();
                            context.User = m;
                        }
                    }
                }
            }
            catch (Exception ex) {
                _Logger.LogWarning("Error extracting context.Request.User: " + ex.Message);
            }
            return(context);
        }
コード例 #4
0
        public async static Task <EventResponseModel> genEventResponseModel(HttpMessage response)
        {
            var h        = response.HttpResponseMessage;
            var respBody = h.Content != null
                                ? await h.Content.ReadAsStringAsync()
                                : null;

            var respHeaders = ToResponseHeaders(h.Headers,
                                                h.Content.Headers);
            var respBodyWrapper = BodyUtil.Serialize(respBody);
            EventResponseModel moesifResponse = new EventResponseModel()
            {
                Time             = DateTime.UtcNow,
                Status           = (int)h.StatusCode,
                IpAddress        = Environment.MachineName,
                Headers          = respHeaders,
                Body             = respBodyWrapper.Item1,
                TransferEncoding = respBodyWrapper.Item2
            };

            return(moesifResponse);
        }