CodeToImageGenerator

Форк
0
71 строка · 1.8 Кб
1
using System.Net; // èñïîëüçóåòñÿ â Release ñáîðêå, íå óäàëÿòü!
2

3
using CodeToImageGenerator.Web.Services;
4

5
var builder = WebApplication.CreateBuilder(args);
6

7
// Èñïîëüçóåòñÿ â Release ñáîðêå, äëÿ îòëàäêè íå íóæíî
8
#if !DEBUG
9
builder.WebHost.ConfigureKestrel(serverOptions =>
10
{
11
    serverOptions.Listen(IPAddress.Any, 80);
12
    serverOptions.Listen(IPAddress.Any, 443);
13
});
14
#endif
15

16
var botToken = Environment.GetEnvironmentVariable("BOT_TOKEN");
17
var webAppAddress = Environment.GetEnvironmentVariable("WEB_APP_URL");
18

19
builder.Services.AddControllersWithViews();
20

21
builder.Services.AddTransient<IImageService, ImageService>();
22
builder.Services.AddSingleton<TelegramBotService>(
23
        sp => new TelegramBotService(
24
        sp.GetRequiredService<ILogger<TelegramBotService>>(),
25
        sp.GetRequiredService<IImageService>(),
26
        botToken,
27
        webAppAddress
28
    ));
29

30
builder.Services.AddControllers().AddJsonOptions(options =>
31
{
32
    options.JsonSerializerOptions.PropertyNamingPolicy = null;
33
});
34

35
builder.Services.AddSession(options =>
36
{
37
    options.IdleTimeout = TimeSpan.FromMinutes(30);
38
    options.Cookie.HttpOnly = true;
39
    options.Cookie.IsEssential = true;
40
});
41

42
var app = builder.Build();
43

44
if (!app.Environment.IsDevelopment())
45
{
46
    app.UseExceptionHandler("/Home/Error");
47
    app.UseHsts();
48
}
49

50
app.UseHttpsRedirection();
51
app.UseStaticFiles();
52

53
app.UseSession();
54

55
app.UseRouting();
56

57
app.UseAuthorization();
58

59
app.MapControllerRoute(
60
    name: "default",
61
    pattern: "{controller=Home}/{action=Index}/{id?}");
62
app.MapControllerRoute(
63
    name: "TelegramWebApp",
64
    pattern: "{controller=Home}/{action=Index}/{initData}");
65

66
app.MapControllers();
67

68
var bot = app.Services.GetRequiredService<TelegramBotService>() as TelegramBotService;
69
await bot.StartAsync(new CancellationToken());
70

71
app.Run();
72

73

74

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.