analizators/U2U1025

This commit is contained in:
Anton Suhorukov 2022-01-13 14:30:40 +03:00
parent 4155f911c0
commit d1ce4c5ed6
6 changed files with 50 additions and 34 deletions

View File

@ -184,7 +184,8 @@ namespace ASC.Web.Files.Services.DocumentService
private NotifyClient NotifyClient { get; }
private MailMergeTaskRunner MailMergeTaskRunner { get; }
private FileTrackerHelper FileTracker { get; }
public ILog Logger { get; }
public ILog Logger { get; }
public IHttpClientFactory ClientFactory { get; }
public DocumentServiceTrackerHelper(
SecurityContext securityContext,
@ -205,7 +206,8 @@ namespace ASC.Web.Files.Services.DocumentService
DocumentServiceConnector documentServiceConnector,
NotifyClient notifyClient,
MailMergeTaskRunner mailMergeTaskRunner,
FileTrackerHelper fileTracker)
FileTrackerHelper fileTracker,
IHttpClientFactory clientFactory)
{
SecurityContext = securityContext;
UserManager = userManager;
@ -225,7 +227,8 @@ namespace ASC.Web.Files.Services.DocumentService
NotifyClient = notifyClient;
MailMergeTaskRunner = mailMergeTaskRunner;
FileTracker = fileTracker;
Logger = options.CurrentValue;
Logger = options.CurrentValue;
ClientFactory = clientFactory;
}
public string GetCallbackUrl<T>(T fileId)
@ -491,7 +494,7 @@ namespace ASC.Web.Files.Services.DocumentService
var message = fileData.MailMerge.Message;
Stream attach = null;
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
switch (fileData.MailMerge.Type)
{
case MailMergeType.AttachDocx:
@ -553,7 +556,7 @@ namespace ASC.Web.Files.Services.DocumentService
Attach = attach
})
{
var response = MailMergeTaskRunner.Run(mailMergeTask);
var response = MailMergeTaskRunner.Run(mailMergeTask, ClientFactory);
Logger.InfoFormat("DocService mailMerge {0}/{1} send: {2}",
fileData.MailMerge.RecordIndex + 1, fileData.MailMerge.RecordCount, response);
}
@ -598,7 +601,7 @@ namespace ASC.Web.Files.Services.DocumentService
var request = new HttpRequestMessage();
request.RequestUri = new Uri(downloadUri);
using (var httpClient = new HttpClient())
var httpClient = ClientFactory.CreateClient();
using (var response = httpClient.Send(request))
using (var stream = response.Content.ReadAsStream())
using (var fileStream = new ResponseStream(stream, stream.Length))
@ -625,7 +628,7 @@ namespace ASC.Web.Files.Services.DocumentService
var request = new HttpRequestMessage();
request.RequestUri = new Uri(differenceUrl);
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
using var response = httpClient.Send(request);
using var stream = response.Content.ReadAsStream();

View File

@ -112,7 +112,8 @@ namespace ASC.Web.Files.ThirdPartyApp
private DocumentServiceConnector DocumentServiceConnector { get; }
private ThirdPartyAppHandlerService ThirdPartyAppHandlerService { get; }
private IServiceProvider ServiceProvider { get; }
public ILog Logger { get; }
public ILog Logger { get; }
public IHttpClientFactory ClientFactory { get; }
public BoxApp()
{
@ -145,7 +146,8 @@ namespace ASC.Web.Files.ThirdPartyApp
CoreSettings coreSettings,
IConfiguration configuration,
ICacheNotify<ConsumerCacheItem> cache,
ConsumerFactory consumerFactory,
ConsumerFactory consumerFactory,
IHttpClientFactory clientFactory,
string name, int order, Dictionary<string, string> additional)
: base(tenantManager, coreBaseSettings, coreSettings, configuration, cache, consumerFactory, name, order, additional)
{
@ -169,7 +171,8 @@ namespace ASC.Web.Files.ThirdPartyApp
DocumentServiceConnector = documentServiceConnector;
ThirdPartyAppHandlerService = thirdPartyAppHandlerService;
ServiceProvider = serviceProvider;
Logger = option.CurrentValue;
Logger = option.CurrentValue;
ClientFactory = clientFactory;
}
public bool Request(HttpContext context)
@ -310,7 +313,7 @@ namespace ASC.Web.Files.ThirdPartyApp
}
}
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
var request = new HttpRequestMessage();
request.RequestUri = new Uri(BoxUrlUpload.Replace("{fileId}", fileId));
@ -471,7 +474,7 @@ namespace ASC.Web.Files.ThirdPartyApp
request.Method = HttpMethod.Get;
request.Headers.Add("Authorization", "Bearer " + token);
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
using var response = httpClient.Send(request);
using var stream = new ResponseStream(response);
stream.CopyTo(context.Response.Body);

View File

@ -118,7 +118,8 @@ namespace ASC.Web.Files.ThirdPartyApp
private TokenHelper TokenHelper { get; }
private DocumentServiceConnector DocumentServiceConnector { get; }
private ThirdPartyAppHandlerService ThirdPartyAppHandlerService { get; }
private IServiceProvider ServiceProvider { get; }
private IServiceProvider ServiceProvider { get; }
private IHttpClientFactory ClientFactory { get; }
public GoogleDriveApp()
{
@ -155,7 +156,8 @@ namespace ASC.Web.Files.ThirdPartyApp
CoreSettings coreSettings,
IConfiguration configuration,
ICacheNotify<ConsumerCacheItem> cache,
ConsumerFactory consumerFactory,
ConsumerFactory consumerFactory,
IHttpClientFactory clientFactory,
string name, int order, Dictionary<string, string> additional)
: base(tenantManager, coreBaseSettings, coreSettings, configuration, cache, consumerFactory, name, order, additional)
{
@ -183,7 +185,8 @@ namespace ASC.Web.Files.ThirdPartyApp
TokenHelper = tokenHelper;
DocumentServiceConnector = documentServiceConnector;
ThirdPartyAppHandlerService = thirdPartyAppHandlerService;
ServiceProvider = serviceProvider;
ServiceProvider = serviceProvider;
ClientFactory = clientFactory;
}
public bool Request(HttpContext context)
@ -315,7 +318,7 @@ namespace ASC.Web.Files.ThirdPartyApp
}
}
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
var request = new HttpRequestMessage();
request.RequestUri = new Uri(GoogleLoginProvider.GoogleUrlFileUpload + "/{fileId}?uploadType=media".Replace("{fileId}", fileId));
@ -522,7 +525,7 @@ namespace ASC.Web.Files.ThirdPartyApp
request.Method = HttpMethod.Get;
request.Headers.Add("Authorization", "Bearer " + token);
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
using var response = httpClient.Send(request);
using var stream = new ResponseStream(response);
stream.CopyTo(context.Response.Body);
@ -732,7 +735,7 @@ namespace ASC.Web.Files.ThirdPartyApp
var request = new HttpRequestMessage();
request.RequestUri = new Uri(contentUrl);
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
using var response = httpClient.Send(request);
using var content = new ResponseStream(response);
return CreateFile(content, fileName, folderId, token);
@ -742,7 +745,7 @@ namespace ASC.Web.Files.ThirdPartyApp
{
Logger.Debug("GoogleDriveApp: create file");
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
var request = new HttpRequestMessage();
request.RequestUri = new Uri(GoogleLoginProvider.GoogleUrlFileUpload + "?uploadType=multipart");
@ -847,7 +850,7 @@ namespace ASC.Web.Files.ThirdPartyApp
fileId,
HttpUtility.UrlEncode(requiredMimeType));
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
var request = new HttpRequestMessage();
request.RequestUri = new Uri(downloadUrl);

View File

@ -267,7 +267,8 @@ namespace ASC.Web.Files.Utils
private TenantManager TenantManager { get; }
private SettingsManager SettingsManager { get; }
private IServiceProvider ServiceProvider { get; }
private ILog Logger { get; }
private ILog Logger { get; }
private IHttpClientFactory ClientFactory { get; }
public EntryManager(
IDaoFactory daoFactory,
@ -295,7 +296,8 @@ namespace ASC.Web.Files.Utils
IServiceProvider serviceProvider,
ICache cache,
FileTrackerHelper fileTracker,
EntryStatusManager entryStatusManager)
EntryStatusManager entryStatusManager,
IHttpClientFactory clientFactory)
{
DaoFactory = daoFactory;
FileSecurity = fileSecurity;
@ -323,6 +325,7 @@ namespace ASC.Web.Files.Utils
Cache = cache;
FileTracker = fileTracker;
EntryStatusManager = entryStatusManager;
ClientFactory = clientFactory;
}
public IEnumerable<FileEntry> GetEntries<T>(Folder<T> parent, int from, int count, FilterType filter, bool subjectGroup, Guid subjectId, string searchText, bool searchInContent, bool withSubfolders, OrderBy orderBy, out int total)
@ -1007,7 +1010,7 @@ namespace ASC.Web.Files.Utils
var request = new HttpRequestMessage();
request.RequestUri = new Uri(downloadUri);
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
using var response = httpClient.Send(request);
using var editedFileStream = new ResponseStream(response);
editedFileStream.CopyTo(tmpStream);

View File

@ -542,7 +542,8 @@ namespace ASC.Web.Files.Utils
private BaseCommonLinkUtility BaseCommonLinkUtility { get; }
private EntryStatusManager EntryStatusManager { get; }
private IServiceProvider ServiceProvider { get; }
private IHttpContextAccessor HttpContextAccesor { get; }
private IHttpContextAccessor HttpContextAccesor { get; }
private IHttpClientFactory ClientFactory { get; }
public FileConverter(
FileUtility fileUtility,
@ -564,7 +565,8 @@ namespace ASC.Web.Files.Utils
FileTrackerHelper fileTracker,
BaseCommonLinkUtility baseCommonLinkUtility,
EntryStatusManager entryStatusManager,
IServiceProvider serviceProvider)
IServiceProvider serviceProvider,
IHttpClientFactory clientFactory)
{
FileUtility = fileUtility;
FilesLinkUtility = filesLinkUtility;
@ -585,7 +587,8 @@ namespace ASC.Web.Files.Utils
FileTracker = fileTracker;
BaseCommonLinkUtility = baseCommonLinkUtility;
EntryStatusManager = entryStatusManager;
ServiceProvider = serviceProvider;
ServiceProvider = serviceProvider;
ClientFactory = clientFactory;
}
public FileConverter(
FileUtility fileUtility,
@ -608,11 +611,12 @@ namespace ASC.Web.Files.Utils
BaseCommonLinkUtility baseCommonLinkUtility,
EntryStatusManager entryStatusManager,
IServiceProvider serviceProvider,
IHttpContextAccessor httpContextAccesor)
IHttpContextAccessor httpContextAccesor,
IHttpClientFactory clientFactory)
: this(fileUtility, filesLinkUtility, daoFactory, setupInfo, pathProvider, fileSecurity,
fileMarker, tenantManager, authContext, entryManager, filesSettingsHelper,
globalFolderHelper, filesMessageService, fileShareLink, documentServiceHelper, documentServiceConnector, fileTracker,
baseCommonLinkUtility, entryStatusManager, serviceProvider)
baseCommonLinkUtility, entryStatusManager, serviceProvider, clientFactory)
{
HttpContextAccesor = httpContextAccesor;
}
@ -683,7 +687,7 @@ namespace ASC.Web.Files.Utils
var request = new HttpRequestMessage();
request.RequestUri = new Uri(convertUri);
using var httpClient = new HttpClient();
using var httpClient = ClientFactory.CreateClient();
using var response = httpClient.Send(request);
return new ResponseStream(response);
}
@ -851,7 +855,7 @@ namespace ASC.Web.Files.Utils
var request = new HttpRequestMessage();
request.RequestUri = new Uri(convertedFileUrl);
using var httpClient = new HttpClient();
var httpClient = ClientFactory.CreateClient();
try
{

View File

@ -86,14 +86,14 @@ namespace ASC.Web.Files.Utils
BaseCommonLinkUtility = baseCommonLinkUtility;
}
public string Run(MailMergeTask mailMergeTask)
public string Run(MailMergeTask mailMergeTask, IHttpClientFactory clientFactory)
{
if (string.IsNullOrEmpty(mailMergeTask.From)) throw new ArgumentException("From is null");
if (string.IsNullOrEmpty(mailMergeTask.To)) throw new ArgumentException("To is null");
CreateDraftMail(mailMergeTask);
var bodySendAttach = AttachToMail(mailMergeTask);
var bodySendAttach = AttachToMail(mailMergeTask, clientFactory);
return SendMail(mailMergeTask, bodySendAttach);
}
@ -122,7 +122,7 @@ namespace ASC.Web.Files.Utils
mailMergeTask.StreamId = responseCreate["response"]["streamId"].Value<string>();
}
private string AttachToMail(MailMergeTask mailMergeTask)
private string AttachToMail(MailMergeTask mailMergeTask, IHttpClientFactory clientFactory)
{
if (mailMergeTask.Attach == null) return string.Empty;
@ -141,7 +141,7 @@ namespace ASC.Web.Files.Utils
request.Content = new StreamContent(mailMergeTask.Attach);
string responseAttachString;
using var httpClient = new HttpClient();
var httpClient = clientFactory.CreateClient();
using var response = httpClient.Send(request);
using (var stream = response.Content.ReadAsStream())
{