29 lines
986 B
C#
29 lines
986 B
C#
using AngleSharp;
|
|
using LexWells.Infrastructure.Common;
|
|
using LexWells.Infrastructure.EntityFramework;
|
|
using NewsArchival.Api.Data;
|
|
using NewsArchival.Core.Interfaces;
|
|
using NewsArchival.Scraper;
|
|
using NewsArchival.Scraper.Services;
|
|
|
|
var builder = Host.CreateApplicationBuilder(args);
|
|
|
|
builder.Services.AddLexWellsInfrastructure(
|
|
builder.Configuration["ConnectionStrings:Redis"] ?? "localhost:6379");
|
|
|
|
builder.Services.AddLexWellsDatabase<AppDbContext>(
|
|
builder.Configuration["ConnectionStrings:DefaultConnection"] ?? "Data Source=newsarchive.db");
|
|
|
|
builder.Services.AddHttpClient("NewsApi", client =>
|
|
{
|
|
client.BaseAddress = new Uri(builder.Configuration["ScraperSettings:BaseUrl"] ?? "http://localhost:5000");
|
|
});
|
|
|
|
builder.Services.AddSingleton(BrowsingContext.New(Configuration.Default.WithDefaultLoader()));
|
|
|
|
builder.Services.AddSingleton<IScraperService, LatestService>();
|
|
|
|
builder.Services.AddHostedService<Worker>();
|
|
|
|
var host = builder.Build();
|
|
await host.RunAsync(); |