public static void AddOrUpdate(FeedModel feed) { using (var db = new LiteDatabase(@"LiteDb/Feeds.db")) { var col = db.GetCollection <FeedModel>("feeds"); if (feed.Id == 0) { col.Insert(feed); } else { col.Update(feed); } } }
public static FeedRequest ToFeedRequest(FeedModel feed) { var request = new Request(feed.Address); request.RunJS = (feed.RunJS == Status.ON); if (request.RunJS) { request.WaitDom = feed.WaitDom; } if (feed.Headers != null) { request.Headers = GetHeaders(feed.Headers); if (request.Headers.Count(m => m.Name == "Referer") == 0) { request.Headers.Add(new WebHeader("Referer", request.Uri.AbsoluteUri)); } } request.Method = feed.Method; if (feed.Method == "POST" && !string.IsNullOrEmpty(feed.Data)) { request.ContentType = feed.ContentType; request.Data = feed.Data; } var ua = string.IsNullOrEmpty(feed.UA) ? NodeVisitor.Setter.GetRandomSettingUA() : feed.UA; if (!string.IsNullOrEmpty(ua)) { request.Headers.Add(new WebHeader("User-Agent", ua)); } return(new FeedRequest { Request = request, Setting = new Core.Expression.FeedSetting { Id = feed.Id.ToString(), Delay = feed.Delay }, Expression = feed.RuiJiExpression }); }