private static HttpRequestMessage CloneRequestMessage()

in src/Diagnostics.HealthChecks/Internal/HttpEndpointHealthCheck.cs [70:100]


		private static HttpRequestMessage CloneRequestMessage(HttpRequestMessage message)
		{
			HttpRequestMessage clone = new()
			{
				Method = message.Method,
				RequestUri = message.RequestUri,
				Content = message.Content,
				Version = message.Version
			};

			foreach (KeyValuePair<string, IEnumerable<string>> header in message.Headers)
			{
				clone.Headers.TryAddWithoutValidation(header.Key, header.Value);
			}

#if !NETCOREAPP3_1 && !NETSTANDARD2_0
			clone.VersionPolicy =  message.VersionPolicy;

			foreach (KeyValuePair<string, object?> option in message.Options)
			{
				clone.Options.Set(new HttpRequestOptionsKey<object?>(option.Key), option.Value);
			}
#else
			foreach (KeyValuePair<string, object> prop in message.Properties)
			{
				clone.Properties.Add(prop.Key, prop.Value);
			}
#endif

			return clone;
		}