示例#1
0
        public static SvDataRaw Parse(Session session)
        {
            var reqBody = session.Response.BodyAsString.Replace("svdata=", "");
            var result  = new SvDataRaw(session.Request.BodyAsString, reqBody, session.Request.PathAndQuery);

            return(result);
        }
示例#2
0
        /// <summary>
        /// Nekoxy でフックした <see cref="Session" /> オブジェクトの <see cref="Session.Response" /> データを
        /// <see cref="SvDataRaw" /> 型にパースします。
        /// </summary>
        public static IObservable <SvDataRaw> Parse(this IObservable <Session> source)
        {
            Func <Session, SvDataRaw> converter = session =>
            {
                SvDataRaw result;
                return(SvDataRaw.TryParse(session, out result) ? result : null);
            };

            return(source.Select(converter).Do(s => s.SendDb()));
        }
示例#3
0
        public static bool TryParse(Session session, out SvDataRaw result)
        {
            try
            {
                result = Parse(session);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                result = null;
                return(false);
            }

            return(true);
        }