/
aprogrammer
/
reverse-proxy-ms-yarp
Обзор
Документация
Войти
/
aprogrammer
/
reverse-proxy-ms-yarp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/ReverseProxy/Transforms/RequestHeaderClientCertTransform.cs
45 строк
1 KB
Kahbazi
Use is null instead of == null (#1565)
29 мар 2022, 02:51
Не верифицирован
29 мар 2022, 02:51
9bbdf5e
Код
Авторство
О чём код?
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System; using System.Threading.Tasks; namespace Yarp.ReverseProxy.Transforms; /// <summary> /// Base64 encodes the client certificate (if any) and sets it as the header value. /// </summary> public class RequestHeaderClientCertTransform : RequestTransform { public RequestHeaderClientCertTransform(string headerName) { if (string.IsNullOrEmpty(headerName)) { throw new ArgumentException($"'{nameof(headerName)}' cannot be null or empty.", nameof(headerName)); } HeaderName = headerName; } internal string HeaderName { get; } /// <inheritdoc/> public override ValueTask ApplyAsync(RequestTransformContext context) { if (context is null) { throw new ArgumentNullException(nameof(context)); } RemoveHeader(context, HeaderName); var clientCert = context.HttpContext.Connection.ClientCertificate; if (clientCert is not null) { var encoded = Convert.ToBase64String(clientCert.RawData); AddHeader(context, HeaderName, encoded); } return default; } }