mirror of
https://github.com/bitwarden/server.git
synced 2026-02-05 00:23:24 +08:00
Revert filescoped (#2227)
* Revert "Add git blame entry (#2226)" This reverts commit239286737d. * Revert "Turn on file scoped namespaces (#2225)" This reverts commit34fb4cca2a.
This commit is contained in:
@@ -3,75 +3,76 @@ using System.Text.Json;
|
||||
using Azure.Storage.Queues;
|
||||
using Bit.Core.Utilities;
|
||||
|
||||
namespace Bit.Core.Services;
|
||||
|
||||
public abstract class AzureQueueService<T>
|
||||
namespace Bit.Core.Services
|
||||
{
|
||||
protected QueueClient _queueClient;
|
||||
protected JsonSerializerOptions _jsonOptions;
|
||||
|
||||
protected AzureQueueService(QueueClient queueClient, JsonSerializerOptions jsonOptions)
|
||||
public abstract class AzureQueueService<T>
|
||||
{
|
||||
_queueClient = queueClient;
|
||||
_jsonOptions = jsonOptions;
|
||||
}
|
||||
protected QueueClient _queueClient;
|
||||
protected JsonSerializerOptions _jsonOptions;
|
||||
|
||||
public async Task CreateManyAsync(IEnumerable<T> messages)
|
||||
{
|
||||
if (messages?.Any() != true)
|
||||
protected AzureQueueService(QueueClient queueClient, JsonSerializerOptions jsonOptions)
|
||||
{
|
||||
return;
|
||||
_queueClient = queueClient;
|
||||
_jsonOptions = jsonOptions;
|
||||
}
|
||||
|
||||
foreach (var json in SerializeMany(messages, _jsonOptions))
|
||||
public async Task CreateManyAsync(IEnumerable<T> messages)
|
||||
{
|
||||
await _queueClient.SendMessageAsync(json);
|
||||
}
|
||||
}
|
||||
|
||||
protected IEnumerable<string> SerializeMany(IEnumerable<T> messages, JsonSerializerOptions jsonOptions)
|
||||
{
|
||||
// Calculate Base-64 encoded text with padding
|
||||
int getBase64Size(int byteCount) => ((4 * byteCount / 3) + 3) & ~3;
|
||||
|
||||
var messagesList = new List<string>();
|
||||
var messagesListSize = 0;
|
||||
|
||||
int calculateByteSize(int totalSize, int toAdd) =>
|
||||
// Calculate the total length this would be w/ "[]" and commas
|
||||
getBase64Size(totalSize + toAdd + messagesList.Count + 2);
|
||||
|
||||
// Format the final array string, i.e. [{...},{...}]
|
||||
string getArrayString()
|
||||
{
|
||||
if (messagesList.Count == 1)
|
||||
if (messages?.Any() != true)
|
||||
{
|
||||
return CoreHelpers.Base64EncodeString(messagesList[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var json in SerializeMany(messages, _jsonOptions))
|
||||
{
|
||||
await _queueClient.SendMessageAsync(json);
|
||||
}
|
||||
return CoreHelpers.Base64EncodeString(
|
||||
string.Concat("[", string.Join(',', messagesList), "]"));
|
||||
}
|
||||
|
||||
var serializedMessages = messages.Select(message =>
|
||||
JsonSerializer.Serialize(message, jsonOptions));
|
||||
|
||||
foreach (var message in serializedMessages)
|
||||
protected IEnumerable<string> SerializeMany(IEnumerable<T> messages, JsonSerializerOptions jsonOptions)
|
||||
{
|
||||
var messageSize = Encoding.UTF8.GetByteCount(message);
|
||||
if (calculateByteSize(messagesListSize, messageSize) > _queueClient.MessageMaxBytes)
|
||||
// Calculate Base-64 encoded text with padding
|
||||
int getBase64Size(int byteCount) => ((4 * byteCount / 3) + 3) & ~3;
|
||||
|
||||
var messagesList = new List<string>();
|
||||
var messagesListSize = 0;
|
||||
|
||||
int calculateByteSize(int totalSize, int toAdd) =>
|
||||
// Calculate the total length this would be w/ "[]" and commas
|
||||
getBase64Size(totalSize + toAdd + messagesList.Count + 2);
|
||||
|
||||
// Format the final array string, i.e. [{...},{...}]
|
||||
string getArrayString()
|
||||
{
|
||||
if (messagesList.Count == 1)
|
||||
{
|
||||
return CoreHelpers.Base64EncodeString(messagesList[0]);
|
||||
}
|
||||
return CoreHelpers.Base64EncodeString(
|
||||
string.Concat("[", string.Join(',', messagesList), "]"));
|
||||
}
|
||||
|
||||
var serializedMessages = messages.Select(message =>
|
||||
JsonSerializer.Serialize(message, jsonOptions));
|
||||
|
||||
foreach (var message in serializedMessages)
|
||||
{
|
||||
var messageSize = Encoding.UTF8.GetByteCount(message);
|
||||
if (calculateByteSize(messagesListSize, messageSize) > _queueClient.MessageMaxBytes)
|
||||
{
|
||||
yield return getArrayString();
|
||||
messagesListSize = 0;
|
||||
messagesList.Clear();
|
||||
}
|
||||
|
||||
messagesList.Add(message);
|
||||
messagesListSize += messageSize;
|
||||
}
|
||||
|
||||
if (messagesList.Any())
|
||||
{
|
||||
yield return getArrayString();
|
||||
messagesListSize = 0;
|
||||
messagesList.Clear();
|
||||
}
|
||||
|
||||
messagesList.Add(message);
|
||||
messagesListSize += messageSize;
|
||||
}
|
||||
|
||||
if (messagesList.Any())
|
||||
{
|
||||
yield return getArrayString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user