103 lines
3.3 KiB
C#
103 lines
3.3 KiB
C#
|
|
using System.Text;
|
|
|
|
using ASC.Api.Core;
|
|
using ASC.Api.Core.Auth;
|
|
using ASC.Api.Core.Middleware;
|
|
using ASC.Api.Documents;
|
|
using ASC.Common;
|
|
using ASC.Common.Logging;
|
|
using ASC.Web.Files;
|
|
using ASC.Web.Files.HttpHandlers;
|
|
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
namespace ASC.Files
|
|
{
|
|
public class Startup : BaseStartup
|
|
{
|
|
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment)
|
|
: base(configuration, hostEnvironment)
|
|
{
|
|
|
|
}
|
|
|
|
public override void ConfigureServices(IServiceCollection services)
|
|
{
|
|
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
|
|
|
services.AddControllers()
|
|
.AddXmlSerializerFormatters()
|
|
.AddJsonOptions(options =>
|
|
{
|
|
options.JsonSerializerOptions.WriteIndented = false;
|
|
options.JsonSerializerOptions.IgnoreNullValues = true;
|
|
options.JsonSerializerOptions.Converters.Add(new ApiDateTimeConverter());
|
|
options.JsonSerializerOptions.Converters.Add(new FileEntryWrapperConverter());
|
|
});
|
|
|
|
services.AddMemoryCache();
|
|
|
|
var diHelper = new DIHelper(services);
|
|
diHelper
|
|
.AddCookieAuthHandler()
|
|
.AddCultureMiddleware()
|
|
.AddIpSecurityFilter()
|
|
.AddPaymentFilter()
|
|
.AddProductSecurityFilter()
|
|
.AddTenantStatusFilter();
|
|
|
|
LogParams = new string[] { "ASC.Files" };
|
|
|
|
diHelper
|
|
.AddDocumentsControllerService()
|
|
.AddEncryptionControllerService()
|
|
.AddFileHandlerService()
|
|
.AddChunkedUploaderHandlerService()
|
|
.AddThirdPartyAppHandlerService()
|
|
.AddDocuSignHandlerService();
|
|
|
|
base.ConfigureServices(services);
|
|
}
|
|
|
|
public override void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
|
{
|
|
|
|
base.Configure(app, env);
|
|
|
|
app.MapWhen(
|
|
context => context.Request.Path.ToString().EndsWith("httphandlers/filehandler.ashx"),
|
|
appBranch =>
|
|
{
|
|
appBranch.UseFileHandler();
|
|
});
|
|
|
|
app.MapWhen(
|
|
context => context.Request.Path.ToString().EndsWith("ChunkedUploader.ashx"),
|
|
appBranch =>
|
|
{
|
|
appBranch.UseChunkedUploaderHandler();
|
|
});
|
|
|
|
app.MapWhen(
|
|
context => context.Request.Path.ToString().EndsWith("ThirdPartyAppHandler.ashx"),
|
|
appBranch =>
|
|
{
|
|
appBranch.UseThirdPartyAppHandler();
|
|
});
|
|
|
|
app.MapWhen(
|
|
context => context.Request.Path.ToString().EndsWith("DocuSignHandler.ashx"),
|
|
appBranch =>
|
|
{
|
|
appBranch.UseDocuSignHandler();
|
|
});
|
|
|
|
app.UseStaticFiles();
|
|
}
|
|
}
|
|
}
|