Таким образом, в каждой функции Azure, которая предоставляет HTTP-триггер в верхней части каждой функции, у нас есть один и тот же код, который проверяет JWT для входящего запроса. Это выглядит примерно так:
public static async Task<IActionResult> Run(...)
{
if (authManager == null)
{
authManager = new AuthorizationManager(log);
}
if (!authManager.ValidateJWT(req.Headers, out awid, out error))
{
return new UnauthorizedResult();
}
}
Поскольку в каждом проекте у нас есть буквально десятки таких вызовов, SonarCloud вызывает много блоков дублирования кода. Они не ошибаются. Но это все еще ложный положительный результат, так как это сделано специально и является требованием для каждой триггерной функции HTTP.
Я знаю, что есть опция //NOSONAR
для проблем, но она не работает для дублирования кода. Я не хочу игнорировать все файлы или изменять правило дублирования кода в профиле качества, потому что мы хотим предупреждать о дублировании за пределами этого условия.
Так как я могу подавить проверку дублирования кода для этого блока кода в каждой Azure функции, которую мы сканируем?