在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → reverse-proxy:用于开发高性能HTTP反向代理应用程序的工具包

reverse-proxy:用于开发高性能HTTP反向代理应用程序的工具包

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.35M
  • 下载次数:0
  • 浏览次数:3
  • 发布时间:2024-04-22
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签: Proxy http Pro 程序 开发

实例介绍

【实例简介】

YARP是一个用于构建快速代理服务器的反向代理工具包,使用了来自ASP.NET和.NET的基础设施。YARP的关键区别在于,它被设计为易于定制和调整,以匹配每个部署场景的特定需求。

我们期望YARP将作为一个库和项目模板发布,这两者一起提供了一个强大、高性能的代理服务器。其管道和模块被设计为您可以根据自己的需求自定义功能。例如,虽然YARP支持配置文件,但我们预计许多用户将希望根据自己的后端配置管理系统来以编程方式管理配置,YARP将提供一个配置API来实现这种在进程中的定制。


【实例截图】
【核心代码】
文件清单
└── reverse-proxy-308318e305756d12b3fac0bb5f43d6331431d65b
    ├── activate.ps1
    ├── activate.sh
    ├── assets
    │   └── icon.png
    ├── azure-pipelines-pr.yml
    ├── azure-pipelines.yml
    ├── build.cmd
    ├── build.sh
    ├── CODE_OF_CONDUCT.md
    ├── contributing.md
    ├── Directory.Build.props
    ├── Directory.Build.targets
    ├── docs
    │   ├── DailyBuilds.md
    │   ├── designs
    │   │   ├── config.md
    │   │   ├── README.md
    │   │   ├── route-extensibility.md
    │   │   └── yarp-tunneling.md
    │   ├── docfx
    │   │   ├── api
    │   │   │   └── index.md
    │   │   ├── articles
    │   │   │   ├── ab-testing.md
    │   │   │   ├── authn-authz.md
    │   │   │   ├── config-files.md
    │   │   │   ├── config-filters.md
    │   │   │   ├── config-providers.md
    │   │   │   ├── cors.md
    │   │   │   ├── destination-resolvers.md
    │   │   │   ├── dests-health-checks.md
    │   │   │   ├── diagnosing-yarp-issues.md
    │   │   │   ├── direct-forwarding.md
    │   │   │   ├── distributed-tracing.md
    │   │   │   ├── getting-started.md
    │   │   │   ├── grpc.md
    │   │   │   ├── header-guidelines.md
    │   │   │   ├── header-routing.md
    │   │   │   ├── http3.md
    │   │   │   ├── http-client-config.md
    │   │   │   ├── https-tls.md
    │   │   │   ├── httpsys-delegation.md
    │   │   │   ├── index.md
    │   │   │   ├── kubernetes-ingress.md
    │   │   │   ├── lets-encrypt.md
    │   │   │   ├── load-balancing.md
    │   │   │   ├── middleware.md
    │   │   │   ├── output-caching.md
    │   │   │   ├── packages-refs.md
    │   │   │   ├── queryparameter-routing.md
    │   │   │   ├── rate-limiting.md
    │   │   │   ├── runtimes.md
    │   │   │   ├── service-fabric-int.md
    │   │   │   ├── session-affinity.md
    │   │   │   ├── timeouts.md
    │   │   │   ├── toc.yml
    │   │   │   ├── transforms.md
    │   │   │   └── websockets.md
    │   │   ├── docfx.csproj
    │   │   ├── docfx.json
    │   │   ├── index.md
    │   │   ├── README.md
    │   │   ├── templates
    │   │   │   └── logo_template
    │   │   │       └── logo.svg
    │   │   └── toc.yml
    │   ├── operations
    │   │   ├── BackportingToPreview.md
    │   │   ├── Branching.md
    │   │   ├── DependencyFlow.md
    │   │   ├── README.md
    │   │   ├── Release.md
    │   │   └── StatusReport.md
    │   ├── README.md
    │   └── roadmap.md
    ├── eng
    │   ├── Build.props
    │   ├── common
    │   │   ├── build.cmd
    │   │   ├── BuildConfiguration
    │   │   │   └── build-configuration.json
    │   │   ├── build.ps1
    │   │   ├── build.sh
    │   │   ├── CIBuild.cmd
    │   │   ├── cibuild.sh
    │   │   ├── cross
    │   │   │   ├── armel
    │   │   │   │   ├── armel.jessie.patch
    │   │   │   │   ├── sources.list.jessie
    │   │   │   │   └── tizen
    │   │   │   │       └── tizen.patch
    │   │   │   ├── armv6
    │   │   │   │   └── sources.list.buster
    │   │   │   ├── build-android-rootfs.sh
    │   │   │   ├── build-rootfs.sh
    │   │   │   ├── ppc64le
    │   │   │   │   └── sources.list.bionic
    │   │   │   ├── riscv64
    │   │   │   │   ├── sources.list.sid
    │   │   │   │   └── tizen
    │   │   │   │       └── tizen.patch
    │   │   │   ├── s390x
    │   │   │   │   └── sources.list.bionic
    │   │   │   ├── tizen-build-rootfs.sh
    │   │   │   ├── tizen-fetch.sh
    │   │   │   └── toolchain.cmake
    │   │   ├── darc-init.ps1
    │   │   ├── darc-init.sh
    │   │   ├── dotnet-install.cmd
    │   │   ├── dotnet-install.ps1
    │   │   ├── dotnet-install.sh
    │   │   ├── enable-cross-org-publishing.ps1
    │   │   ├── generate-locproject.ps1
    │   │   ├── generate-sbom-prep.ps1
    │   │   ├── generate-sbom-prep.sh
    │   │   ├── helixpublish.proj
    │   │   ├── init-tools-native.cmd
    │   │   ├── init-tools-native.ps1
    │   │   ├── init-tools-native.sh
    │   │   ├── internal
    │   │   │   ├── Directory.Build.props
    │   │   │   ├── NuGet.config
    │   │   │   └── Tools.csproj
    │   │   ├── internal-feed-operations.ps1
    │   │   ├── internal-feed-operations.sh
    │   │   ├── loc
    │   │   │   └── P22DotNetHtmlLocalization.lss
    │   │   ├── msbuild.ps1
    │   │   ├── msbuild.sh
    │   │   ├── native
    │   │   │   ├── CommonLibrary.psm1
    │   │   │   ├── common-library.sh
    │   │   │   ├── init-compiler.sh
    │   │   │   ├── init-distro-rid.sh
    │   │   │   ├── init-os-and-arch.sh
    │   │   │   ├── install-cmake.sh
    │   │   │   ├── install-cmake-test.sh
    │   │   │   └── install-tool.ps1
    │   │   ├── pipeline-logging-functions.ps1
    │   │   ├── pipeline-logging-functions.sh
    │   │   ├── post-build
    │   │   │   ├── add-build-to-channel.ps1
    │   │   │   ├── check-channel-consistency.ps1
    │   │   │   ├── nuget-validation.ps1
    │   │   │   ├── post-build-utils.ps1
    │   │   │   ├── publish-using-darc.ps1
    │   │   │   ├── redact-logs.ps1
    │   │   │   ├── sourcelink-validation.ps1
    │   │   │   ├── symbols-validation.ps1
    │   │   │   └── trigger-subscriptions.ps1
    │   │   ├── PSScriptAnalyzerSettings.psd1
    │   │   ├── README.md
    │   │   ├── retain-build.ps1
    │   │   ├── sdk-task.ps1
    │   │   ├── sdl
    │   │   │   ├── configure-sdl-tool.ps1
    │   │   │   ├── execute-all-sdl-tools.ps1
    │   │   │   ├── extract-artifact-archives.ps1
    │   │   │   ├── extract-artifact-packages.ps1
    │   │   │   ├── init-sdl.ps1
    │   │   │   ├── NuGet.config
    │   │   │   ├── packages.config
    │   │   │   ├── run-sdl.ps1
    │   │   │   ├── sdl.ps1
    │   │   │   └── trim-assets-version.ps1
    │   │   ├── SetupNugetSources.ps1
    │   │   ├── SetupNugetSources.sh
    │   │   ├── templates
    │   │   │   ├── job
    │   │   │   │   ├── execute-sdl.yml
    │   │   │   │   ├── job.yml
    │   │   │   │   ├── onelocbuild.yml
    │   │   │   │   ├── publish-build-assets.yml
    │   │   │   │   ├── source-build.yml
    │   │   │   │   └── source-index-stage1.yml
    │   │   │   ├── jobs
    │   │   │   │   ├── codeql-build.yml
    │   │   │   │   ├── jobs.yml
    │   │   │   │   └── source-build.yml
    │   │   │   ├── post-build
    │   │   │   │   ├── common-variables.yml
    │   │   │   │   ├── post-build.yml
    │   │   │   │   ├── setup-maestro-vars.yml
    │   │   │   │   └── trigger-subscription.yml
    │   │   │   ├── steps
    │   │   │   │   ├── add-build-to-channel.yml
    │   │   │   │   ├── build-reason.yml
    │   │   │   │   ├── component-governance.yml
    │   │   │   │   ├── execute-codeql.yml
    │   │   │   │   ├── execute-sdl.yml
    │   │   │   │   ├── generate-sbom.yml
    │   │   │   │   ├── publish-logs.yml
    │   │   │   │   ├── retain-build.yml
    │   │   │   │   ├── run-on-unix.yml
    │   │   │   │   ├── run-on-windows.yml
    │   │   │   │   ├── run-script-ifequalelse.yml
    │   │   │   │   ├── send-to-helix.yml
    │   │   │   │   ├── source-build.yml
    │   │   │   │   ├── telemetry-end.yml
    │   │   │   │   └── telemetry-start.yml
    │   │   │   └── variables
    │   │   │       ├── pool-providers.yml
    │   │   │       └── sdl-variables.yml
    │   │   ├── templates-official
    │   │   │   ├── job
    │   │   │   │   ├── job.yml
    │   │   │   │   ├── onelocbuild.yml
    │   │   │   │   ├── publish-build-assets.yml
    │   │   │   │   ├── source-build.yml
    │   │   │   │   └── source-index-stage1.yml
    │   │   │   ├── jobs
    │   │   │   │   ├── codeql-build.yml
    │   │   │   │   ├── jobs.yml
    │   │   │   │   └── source-build.yml
    │   │   │   ├── post-build
    │   │   │   │   ├── common-variables.yml
    │   │   │   │   ├── post-build.yml
    │   │   │   │   ├── setup-maestro-vars.yml
    │   │   │   │   └── trigger-subscription.yml
    │   │   │   ├── steps
    │   │   │   │   ├── add-build-to-channel.yml
    │   │   │   │   ├── component-governance.yml
    │   │   │   │   ├── generate-sbom.yml
    │   │   │   │   ├── publish-logs.yml
    │   │   │   │   ├── retain-build.yml
    │   │   │   │   ├── send-to-helix.yml
    │   │   │   │   └── source-build.yml
    │   │   │   └── variables
    │   │   │       ├── pool-providers.yml
    │   │   │       └── sdl-variables.yml
    │   │   ├── tools.ps1
    │   │   └── tools.sh
    │   ├── Generate-StatusReport.ps1
    │   ├── PoliCheckExclusions.xml
    │   ├── Publishing.props
    │   ├── sdl-tsa-vars.config
    │   ├── Signing.props
    │   ├── Version.Details.xml
    │   └── Versions.props
    ├── global.json
    ├── LICENSE.txt
    ├── NuGet.config
    ├── pack.cmd
    ├── pack.sh
    ├── README.md
    ├── restore.cmd
    ├── restore.sh
    ├── reverse-proxy.sln
    ├── samples
    │   ├── BasicYarpSample
    │   │   ├── appsettings.json
    │   │   ├── BasicYarpSample.csproj
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   └── README.md
    │   ├── Directory.Build.props
    │   ├── KubernetesIngress.Sample
    │   │   ├── backend
    │   │   │   ├── appsettings.Development.json
    │   │   │   ├── appsettings.json
    │   │   │   ├── backend.csproj
    │   │   │   ├── backend.yaml
    │   │   │   ├── Dockerfile
    │   │   │   ├── ingress-sample.yaml
    │   │   │   ├── Program.cs
    │   │   │   ├── Properties
    │   │   │   │   └── launchSettings.json
    │   │   │   └── README.md
    │   │   ├── Combined
    │   │   │   ├── appsettings.Development.json
    │   │   │   ├── appsettings.json
    │   │   │   ├── Dockerfile
    │   │   │   ├── ingress-controller.yaml
    │   │   │   ├── Program.cs
    │   │   │   ├── Properties
    │   │   │   │   └── launchSettings.json
    │   │   │   ├── README.md
    │   │   │   └── Yarp.Kubernetes.IngressController.csproj
    │   │   ├── Ingress
    │   │   │   ├── appsettings.Development.json
    │   │   │   ├── appsettings.json
    │   │   │   ├── Dockerfile
    │   │   │   ├── ingress.yaml
    │   │   │   ├── Program.cs
    │   │   │   ├── Properties
    │   │   │   │   └── launchSettings.json
    │   │   │   ├── README.md
    │   │   │   └── Yarp.Kubernetes.Ingress.csproj
    │   │   ├── Monitor
    │   │   │   ├── appsettings.Development.json
    │   │   │   ├── appsettings.json
    │   │   │   ├── Dockerfile
    │   │   │   ├── ingress-monitor.yaml
    │   │   │   ├── Program.cs
    │   │   │   ├── Properties
    │   │   │   │   └── launchSettings.json
    │   │   │   ├── README.md
    │   │   │   └── Yarp.Kubernetes.Monitor.csproj
    │   │   └── README.md
    │   ├── Prometheus
    │   │   ├── graph_screenshot.png
    │   │   ├── HttpLoadApp
    │   │   │   ├── HttpLoadApp.csproj
    │   │   │   └── Program.cs
    │   │   ├── prometheus.yml
    │   │   ├── README.md
    │   │   ├── ReverseProxy.Metrics-Prometheus.Sample
    │   │   │   ├── appsettings.Development.json
    │   │   │   ├── appsettings.json
    │   │   │   ├── Program.cs
    │   │   │   ├── PrometheusDnsMetrics.cs
    │   │   │   ├── PrometheusForwarderMetrics.cs
    │   │   │   ├── PrometheusKestrelMetrics.cs
    │   │   │   ├── PrometheusOutboundHttpMetrics.cs
    │   │   │   ├── PrometheusServiceExtensions.cs
    │   │   │   ├── PrometheusSocketMetrics.cs
    │   │   │   ├── Properties
    │   │   │   │   └── launchSettings.json
    │   │   │   └── ReverseProxy.Metrics.Prometheus.Sample.csproj
    │   │   ├── run10destinations.cmd
    │   │   └── run10destinations.sh
    │   ├── README.md
    │   ├── ReverseProxy.Auth.Sample
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Controllers
    │   │   │   └── AccountController.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── README.md
    │   │   ├── ReverseProxy.Auth.Sample.csproj
    │   │   ├── TokenService.cs
    │   │   ├── Views
    │   │   │   └── Account
    │   │   │       ├── AccessDenied.cshtml
    │   │   │       ├── LoggedOut.cshtml
    │   │   │       └── Login.cshtml
    │   │   └── wwwroot
    │   │       └── favicon.ico
    │   ├── ReverseProxy.Code.Sample
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── README.md
    │   │   └── ReverseProxy.Code.Sample.csproj
    │   ├── ReverseProxy.ConfigFilter.Sample
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── CustomConfigFilter.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── README.md
    │   │   └── ReverseProxy.ConfigFilter.Sample.csproj
    │   ├── ReverseProxy.Config.Sample
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── README.md
    │   │   └── ReverseProxy.Config.Sample.csproj
    │   ├── ReverseProxy.Direct.Sample
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── README.md
    │   │   └── ReverseProxy.Direct.Sample.csproj
    │   ├── ReverseProxy.HttpSysDelegation.Sample
    │   │   ├── README.md
    │   │   ├── ReverseProxy
    │   │   │   ├── appsettings.Development.json
    │   │   │   ├── appsettings.json
    │   │   │   ├── Program.cs
    │   │   │   ├── Properties
    │   │   │   │   └── launchSettings.json
    │   │   │   └── ReverseProxy.HttpSysDelegation.Sample.csproj
    │   │   └── SampleHttpSysServer
    │   │       ├── appsettings.Development.json
    │   │       ├── appsettings.json
    │   │       ├── Program.cs
    │   │       ├── Properties
    │   │       │   └── launchSettings.json
    │   │       └── SampleHttpSysServer.csproj
    │   ├── ReverseProxy.LetsEncrypt.Sample
    │   │   ├── appsettings.json
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── README.md
    │   │   └── ReverseProxy.LetsEncrypt.Sample.csproj
    │   ├── ReverseProxy.Metrics.Sample
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── ForwarderMetricsConsumer.cs
    │   │   ├── ForwarderTelemetryConsumer.cs
    │   │   ├── HttpClientTelemetryConsumer.cs
    │   │   ├── PerRequestMetrics.cs
    │   │   ├── PerRequestYarpMetricCollectionMiddleware.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── README.md
    │   │   ├── ReverseProxy.Metrics.Sample.csproj
    │   │   └── WebSocketsTelemetryConsumer.cs
    │   ├── ReverseProxy.Transforms.Sample
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── MyTransformFactory.cs
    │   │   ├── MyTransformProvider.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── ReverseProxy.Transforms.Sample.csproj
    │   │   └── TokenService.cs
    │   └── SampleServer
    │       ├── appsettings.Development.json
    │       ├── appsettings.json
    │       ├── Controllers
    │       │   ├── HealthController.cs
    │       │   ├── HttpController.cs
    │       │   └── WebSocketsController.cs
    │       ├── Program.cs
    │       ├── Properties
    │       │   └── launchSettings.json
    │       ├── README.md
    │       ├── SampleServer.csproj
    │       └── wwwroot
    │           └── index.html
    ├── SECURITY.md
    ├── src
    │   ├── Directory.Build.props
    │   ├── Kubernetes.Controller
    │   │   ├── Caching
    │   │   │   ├── Endpoints.cs
    │   │   │   ├── ICache.cs
    │   │   │   ├── IngressCache.cs
    │   │   │   ├── IngressClassData.cs
    │   │   │   ├── IngressData.cs
    │   │   │   ├── NamespaceCache.cs
    │   │   │   └── ServiceData.cs
    │   │   ├── Certificates
    │   │   │   ├── CertificateHelper.cs
    │   │   │   ├── ICertificateHelper.cs
    │   │   │   ├── IServerCertificateSelector.cs
    │   │   │   └── ServerCertificateSelector.cs
    │   │   ├── Client
    │   │   │   ├── GroupApiVersionKind.cs
    │   │   │   ├── IIngressResourceStatusUpdater.cs
    │   │   │   ├── IResourceInformer.cs
    │   │   │   ├── IResourceInformerRegistration.cs
    │   │   │   ├── KubernetesClientOptions.cs
    │   │   │   ├── ResourceInformer.cs
    │   │   │   ├── ResourceSelector.cs
    │   │   │   ├── V1EndpointsResourceInformer.cs
    │   │   │   ├── V1IngressClassResourceInformer.cs
    │   │   │   ├── V1IngressResourceInformer.cs
    │   │   │   ├── V1IngressResourceStatusUpdater.cs
    │   │   │   ├── V1SecretResourceInformer.cs
    │   │   │   └── V1ServiceResourceInformer.cs
    │   │   ├── ConfigProvider
    │   │   │   ├── IUpdateConfig.cs
    │   │   │   └── KubernetesConfigProvider.cs
    │   │   ├── Converters
    │   │   │   ├── ClusterTransfer.cs
    │   │   │   ├── YarpConfigContext.cs
    │   │   │   ├── YarpIngressContext.cs
    │   │   │   ├── YarpIngressOptions.cs
    │   │   │   └── YarpParser.cs
    │   │   ├── Hosting
    │   │   │   ├── BackgroundHostedService.cs
    │   │   │   ├── HostedServiceAdapter.cs
    │   │   │   └── ServiceCollectionHostedServiceAdapterExtensions.cs
    │   │   ├── Management
    │   │   │   ├── KubernetesCoreExtensions.cs
    │   │   │   ├── KubernetesReverseProxyServiceCollectionExtensions.cs
    │   │   │   └── KubernetesReverseProxyWebHostBuilderExtensions.cs
    │   │   ├── NamespacedName.cs
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   ├── Protocol
    │   │   │   ├── DispatchActionResult.cs
    │   │   │   ├── DispatchConfigProvider.cs
    │   │   │   ├── DispatchController.cs
    │   │   │   ├── Dispatcher.cs
    │   │   │   ├── IDispatcher.cs
    │   │   │   ├── IDispatchTarget.cs
    │   │   │   ├── MessageConfigProviderExtensions.cs
    │   │   │   ├── Message.cs
    │   │   │   ├── Receiver.cs
    │   │   │   └── ReceiverOptions.cs
    │   │   ├── Queues
    │   │   │   ├── IWorkQueue.cs
    │   │   │   ├── ProcessingRateLimitedQueue.cs
    │   │   │   └── WorkQueue.cs
    │   │   ├── Rate
    │   │   │   ├── Limit.cs
    │   │   │   ├── Limiter.cs
    │   │   │   └── Reservation.cs
    │   │   ├── Services
    │   │   │   ├── IngressController.cs
    │   │   │   ├── IReconciler.cs
    │   │   │   ├── QueueItem.cs
    │   │   │   ├── ReconcileData.cs
    │   │   │   └── Reconciler.cs
    │   │   ├── Yarp.Kubernetes.Controller.csproj
    │   │   └── YarpOptions.cs
    │   ├── ReverseProxy
    │   │   ├── Configuration
    │   │   │   ├── ActiveHealthCheckConfig.cs
    │   │   │   ├── AuthorizationConstants.cs
    │   │   │   ├── ClusterConfig.cs
    │   │   │   ├── ClusterValidators
    │   │   │   │   ├── DestinationValidator.cs
    │   │   │   │   ├── HealthCheckValidator.cs
    │   │   │   │   ├── IClusterValidator.cs
    │   │   │   │   ├── LoadBalancingValidator.cs
    │   │   │   │   ├── ProxyHttpClientValidator.cs
    │   │   │   │   ├── ProxyHttpRequestValidator.cs
    │   │   │   │   └── SessionAffinityValidator.cs
    │   │   │   ├── ConfigProvider
    │   │   │   │   ├── ConfigurationConfigProvider.cs
    │   │   │   │   ├── ConfigurationReadingExtensions.cs
    │   │   │   │   └── ConfigurationSnapshot.cs
    │   │   │   ├── ConfigValidator.cs
    │   │   │   ├── CorsConstants.cs
    │   │   │   ├── DestinationConfig.cs
    │   │   │   ├── HeaderMatchMode.cs
    │   │   │   ├── HealthCheckConfig.cs
    │   │   │   ├── HttpClientConfig.cs
    │   │   │   ├── IConfigChangeListener.cs
    │   │   │   ├── IConfigValidator.cs
    │   │   │   ├── InMemoryConfigProvider.cs
    │   │   │   ├── InMemoryConfigProviderExtensions.cs
    │   │   │   ├── IProxyConfig.cs
    │   │   │   ├── IProxyConfigFilter.cs
    │   │   │   ├── IProxyConfigProvider.cs
    │   │   │   ├── IYarpOutputCachePolicyProvider.cs
    │   │   │   ├── IYarpRateLimiterPolicyProvider.cs
    │   │   │   ├── PassiveHealthCheckConfig.cs
    │   │   │   ├── QueryParameterMatchMode.cs
    │   │   │   ├── RateLimitingConstants.cs
    │   │   │   ├── RouteConfig.cs
    │   │   │   ├── RouteHeader.cs
    │   │   │   ├── RouteMatch.cs
    │   │   │   ├── RouteQueryParameter.cs
    │   │   │   ├── RouteValidators
    │   │   │   │   ├── AuthorizationPolicyValidator.cs
    │   │   │   │   ├── CorsPolicyValidator.cs
    │   │   │   │   ├── HeadersValidator.cs
    │   │   │   │   ├── HostValidator.cs
    │   │   │   │   ├── IRouteValidator.cs
    │   │   │   │   ├── MethodsValidator.cs
    │   │   │   │   ├── OutputCachePolicyValidator.cs
    │   │   │   │   ├── PathValidator.cs
    │   │   │   │   ├── QueryParametersValidator.cs
    │   │   │   │   ├── RateLimitPolicyValidator.cs
    │   │   │   │   └── TimeoutPolicyValidator.cs
    │   │   │   ├── SessionAffinityConfig.cs
    │   │   │   ├── SessionAffinityCookieConfig.cs
    │   │   │   ├── TimeoutPolicyConstants.cs
    │   │   │   └── WebProxyConfig.cs
    │   │   ├── Delegation
    │   │   │   ├── AppBuilderDelegationExtensions.cs
    │   │   │   ├── DelegationExtensions.cs
    │   │   │   ├── HttpSysDelegator.cs
    │   │   │   ├── HttpSysDelegatorMiddleware.cs
    │   │   │   └── IHttpSysDelegator.cs
    │   │   ├── Forwarder
    │   │   │   ├── CallbackHttpClientFactory.cs
    │   │   │   ├── DirectForwardingHttpClientProvider.cs
    │   │   │   ├── EmptyHttpContent.cs
    │   │   │   ├── ForwarderError.cs
    │   │   │   ├── ForwarderErrorFeature.cs
    │   │   │   ├── ForwarderHttpClientContext.cs
    │   │   │   ├── ForwarderHttpClientFactory.cs
    │   │   │   ├── ForwarderMiddleware.cs
    │   │   │   ├── ForwarderRequestConfig.cs
    │   │   │   ├── ForwarderStage.cs
    │   │   │   ├── ForwarderTelemetry.cs
    │   │   │   ├── HttpForwarder.cs
    │   │   │   ├── HttpTransformer.cs
    │   │   │   ├── IForwarderErrorFeature.cs
    │   │   │   ├── IForwarderHttpClientFactory.cs
    │   │   │   ├── IHttpForwarder.cs
    │   │   │   ├── IHttpForwarderExtensions.cs
    │   │   │   ├── ProtocolHelper.cs
    │   │   │   ├── RequestTransformer.cs
    │   │   │   ├── RequestUtilities.cs
    │   │   │   ├── ReverseProxyPropagator.cs
    │   │   │   ├── StreamCopier.cs
    │   │   │   ├── StreamCopyHttpContent.cs
    │   │   │   └── StreamCopyResult.cs
    │   │   ├── Health
    │   │   │   ├── ActiveHealthCheckMonitor.cs
    │   │   │   ├── ActiveHealthCheckMonitor.Log.cs
    │   │   │   ├── ActiveHealthCheckMonitorOptions.cs
    │   │   │   ├── AppBuilderHealthExtensions.cs
    │   │   │   ├── ClusterDestinationsUpdater.cs
    │   │   │   ├── ConsecutiveFailuresHealthPolicy.cs
    │   │   │   ├── ConsecutiveFailuresHealthPolicyOptions.cs
    │   │   │   ├── DefaultProbingRequestFactory.cs
    │   │   │   ├── DestinationHealthUpdater.cs
    │   │   │   ├── DestinationProbingResult.cs
    │   │   │   ├── EntityActionScheduler.cs
    │   │   │   ├── HealthCheckConstants.cs
    │   │   │   ├── HealthyAndUnknownDestinationsPolicy.cs
    │   │   │   ├── HealthyOrPanicDestinationsPolicy.cs
    │   │   │   ├── IActiveHealthCheckMonitor.cs
    │   │   │   ├── IActiveHealthCheckPolicy.cs
    │   │   │   ├── IAvailableDestinationsPolicy.cs
    │   │   │   ├── IClusterDestinationsUpdater.cs
    │   │   │   ├── IDestinationHealthUpdater.cs
    │   │   │   ├── IPassiveHealthCheckPolicy.cs
    │   │   │   ├── IProbingRequestFactory.cs
    │   │   │   ├── NewActiveDestinationHealth.cs
    │   │   │   ├── PassiveHealthCheckMiddleware.cs
    │   │   │   ├── TransportFailureRateHealthPolicy.cs
    │   │   │   └── TransportFailureRateHealthPolicyOptions.cs
    │   │   ├── Limits
    │   │   │   └── LimitsMiddleware.cs
    │   │   ├── LoadBalancing
    │   │   │   ├── AppBuilderLoadBalancingExtensions.cs
    │   │   │   ├── FirstLoadBalancingPolicy.cs
    │   │   │   ├── ILoadBalancingPolicy.cs
    │   │   │   ├── LeastRequestsLoadBalancingPolicy.cs
    │   │   │   ├── LoadBalancingMiddleware.cs
    │   │   │   ├── LoadBalancingPolicies.cs
    │   │   │   ├── PowerOfTwoChoicesLoadBalancingPolicy.cs
    │   │   │   ├── RandomLoadBalancingPolicy.cs
    │   │   │   └── RoundRobinLoadBalancingPolicy.cs
    │   │   ├── Management
    │   │   │   ├── IProxyStateLookup.cs
    │   │   │   ├── IReverseProxyBuilder.cs
    │   │   │   ├── IReverseProxyBuilderExtensions.cs
    │   │   │   ├── ProxyConfigManager.cs
    │   │   │   ├── ReverseProxyBuilder.cs
    │   │   │   └── ReverseProxyServiceCollectionExtensions.cs
    │   │   ├── Model
    │   │   │   ├── ClusterDestinationsState.cs
    │   │   │   ├── ClusterModel.cs
    │   │   │   ├── ClusterState.cs
    │   │   │   ├── DestinationHealth.cs
    │   │   │   ├── DestinationHealthState.cs
    │   │   │   ├── DestinationModel.cs
    │   │   │   ├── DestinationState.cs
    │   │   │   ├── HttpContextFeaturesExtensions.cs
    │   │   │   ├── IClusterChangeListener.cs
    │   │   │   ├── IReverseProxyApplicationBuilder.cs
    │   │   │   ├── IReverseProxyFeature.cs
    │   │   │   ├── ProxyPipelineInitializerMiddleware.cs
    │   │   │   ├── README.md
    │   │   │   ├── ReverseProxyApplicationBuilder.cs
    │   │   │   ├── ReverseProxyFeature.cs
    │   │   │   ├── RouteModel.cs
    │   │   │   └── RouteState.cs
    │   │   ├── README.md
    │   │   ├── Routing
    │   │   │   ├── DirectForwardingIEndpointRouteBuilderExtensions.cs
    │   │   │   ├── HeaderMatcher.cs
    │   │   │   ├── HeaderMatcherPolicy.cs
    │   │   │   ├── HeaderMetadata.cs
    │   │   │   ├── IHeaderMetadata.cs
    │   │   │   ├── IQueryParameterMetadata.cs
    │   │   │   ├── ProxyEndpointFactory.cs
    │   │   │   ├── QueryParameterMatcher.cs
    │   │   │   ├── QueryParameterMatcherPolicy.cs
    │   │   │   ├── QueryParameterMetadata.cs
    │   │   │   ├── ReverseProxyConventionBuilder.cs
    │   │   │   └── ReverseProxyIEndpointRouteBuilderExtensions.cs
    │   │   ├── ServiceDiscovery
    │   │   │   ├── DnsDestinationResolver.cs
    │   │   │   ├── DnsDestinationResolverOptions.cs
    │   │   │   ├── IDestinationResolver.cs
    │   │   │   ├── NoOpDestinationResolver.cs
    │   │   │   └── ResolvedDestinationCollection.cs
    │   │   ├── SessionAffinity
    │   │   │   ├── AffinitizeTransform.cs
    │   │   │   ├── AffinitizeTransformProvider.cs
    │   │   │   ├── AffinityHelpers.cs
    │   │   │   ├── AffinityResult.cs
    │   │   │   ├── AffinityStatus.cs
    │   │   │   ├── AppBuilderSessionAffinityExtensions.cs
    │   │   │   ├── ArrCookieSessionAffinityPolicy.cs
    │   │   │   ├── BaseEncryptedSessionAffinityPolicy.cs
    │   │   │   ├── BaseHashCookieSessionAffinityPolicy.cs
    │   │   │   ├── CookieSessionAffinityPolicy.cs
    │   │   │   ├── CustomHeaderSessionAffinityPolicy.cs
    │   │   │   ├── HashCookieSessionAffinityPolicy.cs
    │   │   │   ├── IAffinityFailurePolicy.cs
    │   │   │   ├── ISessionAffinityPolicy.cs
    │   │   │   ├── Log.cs
    │   │   │   ├── RedistributeAffinityFailurePolicy.cs
    │   │   │   ├── Return503ErrorAffinityFailurePolicy.cs
    │   │   │   ├── SessionAffinityConstants.cs
    │   │   │   └── SessionAffinityMiddleware.cs
    │   │   ├── Transforms
    │   │   │   ├── Builder
    │   │   │   │   ├── ActionTransformProvider.cs
    │   │   │   │   ├── ITransformBuilder.cs
    │   │   │   │   ├── ITransformFactory.cs
    │   │   │   │   ├── ITransformProvider.cs
    │   │   │   │   ├── StructuredTransformer.cs
    │   │   │   │   ├── TransformBuilderContext.cs
    │   │   │   │   ├── TransformBuilder.cs
    │   │   │   │   ├── TransformClusterValidationContext.cs
    │   │   │   │   ├── TransformHelpers.cs
    │   │   │   │   └── TransformRouteValidationContext.cs
    │   │   │   ├── ForwardedTransformActions.cs
    │   │   │   ├── ForwardedTransformExtensions.cs
    │   │   │   ├── ForwardedTransformFactory.cs
    │   │   │   ├── HttpMethodChangeTransform.cs
    │   │   │   ├── HttpMethodTransformExtensions.cs
    │   │   │   ├── HttpMethodTransformFactory.cs
    │   │   │   ├── NodeFormat.cs
    │   │   │   ├── PathRouteValuesTransform.cs
    │   │   │   ├── PathStringTransform.cs
    │   │   │   ├── PathTransformExtensions.cs
    │   │   │   ├── PathTransformFactory.cs
    │   │   │   ├── QueryParameterFromRouteTransform.cs
    │   │   │   ├── QueryParameterFromStaticTransform.cs
    │   │   │   ├── QueryParameterRemoveTransform.cs
    │   │   │   ├── QueryParameterTransform.cs
    │   │   │   ├── QueryTransformContext.cs
    │   │   │   ├── QueryTransformExtensions.cs
    │   │   │   ├── QueryTransformFactory.cs
    │   │   │   ├── RequestFuncTransform.cs
    │   │   │   ├── RequestHeaderClientCertTransform.cs
    │   │   │   ├── RequestHeaderForwardedTransform.cs
    │   │   │   ├── RequestHeaderOriginalHostTransform.cs
    │   │   │   ├── RequestHeaderRemoveTransform.cs
    │   │   │   ├── RequestHeaderRouteValueTransform.cs
    │   │   │   ├── RequestHeadersAllowedTransform.cs
    │   │   │   ├── RequestHeadersTransformExtensions.cs
    │   │   │   ├── RequestHeadersTransformFactory.cs
    │   │   │   ├── RequestHeaderTransform.cs
    │   │   │   ├── RequestHeaderValueTransform.cs
    │   │   │   ├── RequestHeaderXForwardedForTransform.cs
    │   │   │   ├── RequestHeaderXForwardedHostTransform.cs
    │   │   │   ├── RequestHeaderXForwardedPrefixTransform.cs
    │   │   │   ├── RequestHeaderXForwardedProtoTransform.cs
    │   │   │   ├── RequestTransformContext.cs
    │   │   │   ├── RequestTransform.cs
    │   │   │   ├── ResponseCondition.cs
    │   │   │   ├── ResponseFuncTransform.cs
    │   │   │   ├── ResponseHeaderRemoveTransform.cs
    │   │   │   ├── ResponseHeadersAllowedTransform.cs
    │   │   │   ├── ResponseHeaderValueTransform.cs
    │   │   │   ├── ResponseTrailerRemoveTransform.cs
    │   │   │   ├── ResponseTrailersAllowedTransform.cs
    │   │   │   ├── ResponseTrailersFuncTransform.cs
    │   │   │   ├── ResponseTrailersTransformContext.cs
    │   │   │   ├── ResponseTrailersTransform.cs
    │   │   │   ├── ResponseTrailerValueTransform.cs
    │   │   │   ├── ResponseTransformContext.cs
    │   │   │   ├── ResponseTransform.cs
    │   │   │   ├── ResponseTransformExtensions.cs
    │   │   │   ├── ResponseTransformFactory.cs
    │   │   │   ├── RouteConfigTransformExtensions.cs
    │   │   │   └── TransformBuilderContextFuncExtensions.cs
    │   │   ├── Utilities
    │   │   │   ├── ActivityCancellationTokenSource.cs
    │   │   │   ├── AtomicCounter.cs
    │   │   │   ├── CaseInsensitiveEqualHelper.cs
    │   │   │   ├── CaseSensitiveEqualHelper.cs
    │   │   │   ├── CollectionEqualityHelper.cs
    │   │   │   ├── ConcurrentDictionaryExtensions.cs
    │   │   │   ├── DelegatingStream.cs
    │   │   │   ├── EventIds.cs
    │   │   │   ├── IClock.cs
    │   │   │   ├── IRandomFactory.cs
    │   │   │   ├── NullRandomFactory.cs
    │   │   │   ├── Observability.cs
    │   │   │   ├── ParsedMetadataEntry.cs
    │   │   │   ├── RandomFactory.cs
    │   │   │   ├── ServiceLookupHelper.cs
    │   │   │   ├── SkipLocalsInit.cs
    │   │   │   ├── StringSyntaxAttribute.cs
    │   │   │   ├── TaskUtilities.cs
    │   │   │   ├── TlsFrameHelper.cs
    │   │   │   ├── ValueStopwatch.cs
    │   │   │   └── ValueStringBuilder.cs
    │   │   ├── WebSocketsTelemetry
    │   │   │   ├── HttpConnectFeatureWrapper.cs
    │   │   │   ├── HttpUpgradeFeatureWrapper.cs
    │   │   │   ├── WebSocketCloseReason.cs
    │   │   │   ├── WebSocketsParser.cs
    │   │   │   ├── WebSocketsTelemetry.cs
    │   │   │   ├── WebSocketsTelemetryExtensions.cs
    │   │   │   ├── WebSocketsTelemetryMiddleware.cs
    │   │   │   └── WebSocketsTelemetryStream.cs
    │   │   └── Yarp.ReverseProxy.csproj
    │   └── TelemetryConsumption
    │       ├── EventListenerService.cs
    │       ├── Forwarder
    │       │   ├── ForwarderEventListenerService.cs
    │       │   ├── ForwarderMetrics.cs
    │       │   ├── ForwarderStage.cs
    │       │   └── IForwarderTelemetryConsumer.cs
    │       ├── Http
    │       │   ├── HttpEventListenerService.cs
    │       │   ├── HttpMetrics.cs
    │       │   └── IHttpTelemetryConsumer.cs
    │       ├── IMetricsConsumer.cs
    │       ├── Kestrel
    │       │   ├── IKestrelTelemetryConsumer.cs
    │       │   ├── KestrelEventListenerService.cs
    │       │   └── KestrelMetrics.cs
    │       ├── MetricsOptions.cs
    │       ├── NameResolution
    │       │   ├── INameResolutionTelemetryConsumer.cs
    │       │   ├── NameResolutionEventListenerService.cs
    │       │   └── NameResolutionMetrics.cs
    │       ├── NetSecurity
    │       │   ├── INetSecurityTelemetryConsumer.cs
    │       │   ├── NetSecurityEventListenerService.cs
    │       │   └── NetSecurityMetrics.cs
    │       ├── README.md
    │       ├── Sockets
    │       │   ├── ISocketsTelemetryConsumer.cs
    │       │   ├── SocketsEventListenerService.cs
    │       │   └── SocketsMetrics.cs
    │       ├── TelemetryConsumptionExtensions.cs
    │       ├── WebSockets
    │       │   ├── IWebSocketsTelemetryConsumer.cs
    │       │   ├── WebSocketCloseReason.cs
    │       │   └── WebSocketsEventListenerService.cs
    │       └── Yarp.Telemetry.Consumption.csproj
    ├── startvs.cmd
    ├── test
    │   ├── Directory.Build.props
    │   ├── Kubernetes.Tests
    │   │   ├── Certificates
    │   │   │   ├── cert.der
    │   │   │   ├── CertificateHelperTests.cs
    │   │   │   ├── cert.pem
    │   │   │   ├── key.der
    │   │   │   └── key.pem
    │   │   ├── Client
    │   │   │   ├── ResourceInformerTests.cs
    │   │   │   ├── SyncResourceInformer.cs
    │   │   │   ├── V1DeploymentResourceInformer.cs
    │   │   │   └── V1PodResourceInformer.cs
    │   │   ├── Hosting
    │   │   │   ├── BackgroundHostedServiceTests.cs
    │   │   │   └── Fakes
    │   │   │       ├── FakeBackgroundHostedService.cs
    │   │   │       ├── FakeServer.cs
    │   │   │       ├── TestLatch.cs
    │   │   │       └── TestLatches.cs
    │   │   ├── IngressCacheTests.cs
    │   │   ├── IngressControllerTests.cs
    │   │   ├── IngressConversionTests.cs
    │   │   ├── KubeResourceGenerator.cs
    │   │   ├── Management
    │   │   │   └── KubernetesCoreExtensionsTests.cs
    │   │   ├── NamespacedNameTests.cs
    │   │   ├── Queues
    │   │   │   └── WorkQueueTests.cs
    │   │   ├── Rate
    │   │   │   ├── LimiterTests.cs
    │   │   │   ├── LimitTests.cs
    │   │   │   └── ReservationTests.cs
    │   │   ├── ReconcilerTests.cs
    │   │   ├── testassets
    │   │   │   ├── annotations
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   ├── routes.json
    │   │   │   │   └── routes.net6.json
    │   │   │   ├── basic-ingress
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── exact-match
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── external-name-ingress
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── hostname-routing
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── https
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── ingress-class-not-set
    │   │   │   │   └── ingress.yaml
    │   │   │   ├── ingress-class-set
    │   │   │   │   └── ingress.yaml
    │   │   │   ├── mapped-port
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── missing-svc
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── multiple-endpoints-ports
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── multiple-hosts
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── multiple-ingresses
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── multiple-ingresses-one-svc
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── multiple-namespaces
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── port-diff-name
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── port-mismatch
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── resource-informer
    │   │   │   │   ├── ResourcesAreListedWhenReadyAsyncIsComplete
    │   │   │   │   │   ├── resources.yaml
    │   │   │   │   │   └── shouldbe.yaml
    │   │   │   │   └── ResourcesWithApiGroupAreListed
    │   │   │   │       ├── resources.yaml
    │   │   │   │       └── shouldbe.yaml
    │   │   │   ├── route-headers
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── route-metadata
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   ├── route-order
    │   │   │   │   ├── clusters.json
    │   │   │   │   ├── ingress.yaml
    │   │   │   │   └── routes.json
    │   │   │   └── route-queryparameters
    │   │   │       ├── clusters.json
    │   │   │       ├── ingress.yaml
    │   │   │       └── routes.json
    │   │   ├── TestCluster
    │   │   │   ├── Controllers
    │   │   │   │   ├── ResourceApiController.cs
    │   │   │   │   └── ResourceApiGroupController.cs
    │   │   │   ├── ITestCluster.cs
    │   │   │   ├── ITestClusterHost.cs
    │   │   │   ├── Models
    │   │   │   │   ├── ListParameters.cs
    │   │   │   │   ├── ListResult.cs
    │   │   │   │   └── ResourceObject.cs
    │   │   │   ├── TestCluster.cs
    │   │   │   ├── TestClusterHostBuilder.cs
    │   │   │   ├── TestClusterHost.cs
    │   │   │   ├── TestClusterOptions.cs
    │   │   │   └── TestClusterStartup.cs
    │   │   ├── Utils
    │   │   │   ├── ResourceSerializers.cs
    │   │   │   └── TestLogger.cs
    │   │   └── Yarp.Kubernetes.Tests.csproj
    │   ├── ReverseProxy.FunctionalTests
    │   │   ├── Common
    │   │   │   ├── Helpers.cs
    │   │   │   ├── HttpSysTestEnvironment.cs
    │   │   │   ├── TestEnvironment.cs
    │   │   │   └── TestUrlHelper.cs
    │   │   ├── DistributedTracingTests.cs
    │   │   ├── Expect100ContinueTests.cs
    │   │   ├── HeaderTests.cs
    │   │   ├── HttpForwarderCancellationTests.cs
    │   │   ├── HttpProxyCookieTests.cs
    │   │   ├── HttpSysDelegationTests.cs
    │   │   ├── PassiveHealthCheckTests.cs
    │   │   ├── TelemetryConsumptionTests.cs
    │   │   ├── WebSocketsTelemetryTests.cs
    │   │   ├── WebSocketTests.cs
    │   │   └── Yarp.ReverseProxy.FunctionalTests.csproj
    │   ├── ReverseProxy.Tests
    │   │   ├── Common
    │   │   │   ├── EventAssertExtensions.cs
    │   │   │   ├── HttpContentExtensions.cs
    │   │   │   ├── MockHttpHandler.cs
    │   │   │   ├── TaskExtensions.cs
    │   │   │   ├── TestEventListener.cs
    │   │   │   ├── TestResources.cs
    │   │   │   └── TestTrailersFeature.cs
    │   │   ├── Configuration
    │   │   │   ├── ActiveHealthCheckConfigTests.cs
    │   │   │   ├── ClusterConfigTests.cs
    │   │   │   ├── ConfigProvider
    │   │   │   │   ├── ConfigurationConfigProviderTests.cs
    │   │   │   │   └── ConfigurationReadingExtensionsTests.cs
    │   │   │   ├── ConfigValidatorTests.cs
    │   │   │   ├── DestinationConfigTests.cs
    │   │   │   ├── HealthCheckConfigTests.cs
    │   │   │   ├── HttpClientConfigTests.cs
    │   │   │   ├── PassiveHealthCheckConfigTests.cs
    │   │   │   ├── RouteConfigTests.cs
    │   │   │   ├── RouteHeaderTests.cs
    │   │   │   ├── RouteMatchTests.cs
    │   │   │   ├── RouteQueryParameterTests.cs
    │   │   │   ├── SessionAffinityConfigTests.cs
    │   │   │   ├── YarpOutputCachePolicyProviderTests.cs
    │   │   │   └── YarpRateLimiterPolicyProviderTests.cs
    │   │   ├── Delegation
    │   │   │   ├── HttpSysDelegatorMiddlewareTests.cs
    │   │   │   └── HttpSysDelegatorTests.cs
    │   │   ├── Forwarder
    │   │   │   ├── ForwarderHttpClientFactoryTests.cs
    │   │   │   ├── ForwarderMiddlewareTests.cs
    │   │   │   ├── HttpForwarderTests.cs
    │   │   │   ├── HttpTransformerTests.cs
    │   │   │   ├── RequestUtilitiesTests.cs
    │   │   │   ├── ReverseProxyServiceCollectionTests.cs
    │   │   │   ├── StreamCopierTests.cs
    │   │   │   └── StreamCopyHttpContentTests.cs
    │   │   ├── Health
    │   │   │   ├── ActiveHealthCheckMonitorTests.cs
    │   │   │   ├── ClusterDestinationsUpdaterTests.cs
    │   │   │   ├── ConsecutiveFailuresHealthPolicyTests.cs
    │   │   │   ├── DefaultProbingRequestFactoryTests.cs
    │   │   │   ├── DestinationHealthUpdaterTests.cs
    │   │   │   ├── EntityActionSchedulerTests.cs
    │   │   │   ├── HealthyAndUnknownDestinationsPolicyTests.cs
    │   │   │   ├── HealthyOrPanicDestinationsPolicyTests.cs
    │   │   │   ├── PassiveHealthCheckMiddlewareTests.cs
    │   │   │   └── TransportFailureRateHealthPolicyTests.cs
    │   │   ├── Limits
    │   │   │   └── LimitsMiddlewareTests.cs
    │   │   ├── LoadBalancing
    │   │   │   ├── LoadBalancerMiddlewareTests.cs
    │   │   │   └── LoadBalancingPoliciesTests.cs
    │   │   ├── Management
    │   │   │   └── ProxyConfigManagerTests.cs
    │   │   ├── Model
    │   │   │   ├── DestinationStateTests.cs
    │   │   │   ├── HttpContextFeaturesExtensions.cs
    │   │   │   └── ProxyPipelineInitializerMiddlewareTests.cs
    │   │   ├── Routing
    │   │   │   ├── HeaderMatcherPolicyTests.cs
    │   │   │   ├── ProxyEndpointFactoryTests.cs
    │   │   │   ├── QueryMatcherPolicyTests.cs
    │   │   │   ├── ReverseProxyConventionBuilderTests.cs
    │   │   │   └── RoutingTests.cs
    │   │   ├── SessionAffinity
    │   │   │   ├── AffinitizeTransformProviderTests.cs
    │   │   │   ├── AffinitizeTransformTests.cs
    │   │   │   ├── AffinityTestHelper.cs
    │   │   │   ├── ArrCookieSessionAffinityPolicyTests.cs
    │   │   │   ├── BaseSessionAffinityPolicyTests.cs
    │   │   │   ├── CookieSessionAffinityPolicyTests.cs
    │   │   │   ├── CustomHeaderSessionAffinityPolicyTests.cs
    │   │   │   ├── HashCookieSessionAffinityPolicyTests.cs
    │   │   │   ├── RedistributeAffinityFailurePolicyTests.cs
    │   │   │   ├── Return503ErrorAffinityFailurePolicyTests.cs
    │   │   │   └── SessionAffinityMiddlewareTests.cs
    │   │   ├── Transforms
    │   │   │   ├── Builder
    │   │   │   │   └── TransformBuilderTests.cs
    │   │   │   ├── DestinationPrefixTransformTests.cs
    │   │   │   ├── ForwardedTransformExtensionsTests.cs
    │   │   │   ├── HttpMethodChangeTransformTests.cs
    │   │   │   ├── HttpMethodTransformExtensionsTests.cs
    │   │   │   ├── PathRouteValuesTransformTests.cs
    │   │   │   ├── PathStringTransformTests.cs
    │   │   │   ├── PathTransformExtensionsTests.cs
    │   │   │   ├── QueryParameterFromRouteTransformTests.cs
    │   │   │   ├── QueryParameterFromStaticTransformTests.cs
    │   │   │   ├── QueryParameterRemoveTransformTests.cs
    │   │   │   ├── QueryTransformContextTests.cs
    │   │   │   ├── QueryTransformExtensionsTests.cs
    │   │   │   ├── RequestHeaderClientCertTransformTests.cs
    │   │   │   ├── RequestHeaderForwardedTransformTests.cs
    │   │   │   ├── RequestHeaderRemoveTransformTests.cs
    │   │   │   ├── RequestHeaderRouteValueTransformTests.cs
    │   │   │   ├── RequestHeadersAllowedTransformTests.cs
    │   │   │   ├── RequestHeadersTransformExtensionsTests.cs
    │   │   │   ├── RequestHeaderValueTransformTests.cs
    │   │   │   ├── RequestHeaderXForwardedForTransformTests.cs
    │   │   │   ├── RequestHeaderXForwardedHostTransformTests.cs
    │   │   │   ├── RequestHeaderXForwardedPrefixTransformTests.cs
    │   │   │   ├── RequestHeaderXForwardedProtoTransformTests.cs
    │   │   │   ├── RequestTransformTests.cs
    │   │   │   ├── ResponseHeaderRemoveTransformTests.cs
    │   │   │   ├── ResponseHeadersAllowedTransformTests.cs
    │   │   │   ├── ResponseHeaderValueTransformTests.cs
    │   │   │   ├── ResponseTrailerRemoveTransformTests.cs
    │   │   │   ├── ResponseTrailersAllowedTransformTests.cs
    │   │   │   ├── ResponseTrailersTransformTests.cs
    │   │   │   ├── ResponseTrailerValueTransformTests.cs
    │   │   │   ├── ResponseTransformExtensionsTests.cs
    │   │   │   ├── ResponseTransformTests.cs
    │   │   │   ├── TransformBuilderContextFuncExtensionsTests.cs
    │   │   │   └── TransformExtentionsTestsBase.cs
    │   │   ├── Utilities
    │   │   │   ├── ActivityCancellationTokenSourceTests.cs
    │   │   │   ├── AtomicCounterTests.cs
    │   │   │   ├── CaseInsensitiveEqualHelperTests.cs
    │   │   │   ├── RandomFactoryTests.cs
    │   │   │   └── TlsFrameHelperTests.cs
    │   │   ├── validSelfSignedClientEkuCertificate.cer
    │   │   ├── WebSocketsTelemetry
    │   │   │   └── WebSocketsParserTests.cs
    │   │   └── Yarp.ReverseProxy.Tests.csproj
    │   ├── TestCertificates
    │   │   └── testCert.pfx
    │   └── Tests.Common
    │       ├── TestAutoMockBase.cs
    │       ├── TestRandom.cs
    │       ├── TestRandomFactory.cs
    │       ├── TestTimeProvider.cs
    │       ├── XunitLoggerFactoryExtensions.cs
    │       ├── XunitLoggerProvider.cs
    │       └── Yarp.Tests.Common.csproj
    ├── testassets
    │   ├── BenchmarkApp
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── BenchmarkApp.csproj
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── README.md
    │   │   └── testCert.pfx
    │   ├── Directory.Build.props
    │   ├── ReverseProxy.Code
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Controllers
    │   │   │   └── HealthController.cs
    │   │   ├── ForwarderMetricsConsumer.cs
    │   │   ├── ForwarderTelemetryConsumer.cs
    │   │   ├── MyTransformFactory.cs
    │   │   ├── MyTransformProvider.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── ReverseProxy.Code.csproj
    │   │   └── TokenService.cs
    │   ├── ReverseProxy.Config
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Controllers
    │   │   │   └── HealthController.cs
    │   │   ├── CustomConfigFilter.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   └── ReverseProxy.Config.csproj
    │   ├── ReverseProxy.Direct
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── ReverseProxy.Direct.csproj
    │   │   └── TlsFilter.cs
    │   ├── TestClient
    │   │   ├── CommandLineArgs.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── Scenarios
    │   │   │   ├── Http1Scenario.cs
    │   │   │   ├── Http2PostExpectContinueScenario.cs
    │   │   │   ├── Http2Scenario.cs
    │   │   │   ├── IScenario.cs
    │   │   │   ├── RawUpgradeScenario.cs
    │   │   │   ├── SessionAffinityScenario.cs
    │   │   │   └── WebSocketsScenario.cs
    │   │   └── TestClient.csproj
    │   └── TestServer
    │       ├── appsettings.Development.json
    │       ├── appsettings.json
    │       ├── AssemblyInfo.cs
    │       ├── Controllers
    │       │   ├── HealthController.cs
    │       │   ├── HttpController.cs
    │       │   ├── UpgradeController.cs
    │       │   └── WebSocketsController.cs
    │       ├── Program.cs
    │       ├── Properties
    │       │   └── launchSettings.json
    │       └── TestServer.csproj
    ├── test.cmd
    ├── test.sh
    └── THIRD-PARTY-NOTICES.TXT

200 directories, 1006 files

标签: Proxy http Pro 程序 开发

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警