protected override void RunPipeline(HttpContext context) { var args = new PushPipelineArgs() { HttpContext = context }; CorePipeline.Run("xdb.ingest.push", args); }
public virtual void Process(PushPipelineArgs args) { if (args == null) { throw new ArgumentNullException("args"); } if (args.HttpContext == null) { throw new NullReferenceException("args.HttpContext"); } if (args.HttpContext.Request == null) { throw new NullReferenceException("args.HttpContext.Request"); } var handlerName = args.HttpContext.Request.Url.Segments.Last().Replace("/", string.Empty); if (string.IsNullOrEmpty(handlerName)) { return; } if (args == null) { throw new ArgumentNullException("args"); } var database = Sitecore.Context.Database; if (database == null) { throw new NullReferenceException("Sitecore.Context.Database"); } var ids = GetDataHandlerItemIds(handlerName, database); foreach (var id in ids) { PushDataHandlerItem pdhItem = database.GetItem(id); if (pdhItem == null) { continue; } var reader = pdhItem.DataReader.GetDataReader(); var hydrator = pdhItem.DataHydrator.GetHydrator(); var handler = new DataHandler() { DataReader = reader, Hydrator = hydrator, ApplyNullValues = pdhItem.ApplyNullValues }; if (!args.DataHandlers.Contains(handler)) { args.DataHandlers.Add(handler); } } }