private void SetUpstreamProxyHandler(Session requestingSession)
{
var settings = this.UpstreamProxySettings;
if (settings == null) return;
var useGateway = !string.IsNullOrEmpty(settings.Host) && settings.IsEnabled;
if (!useGateway || (IsSessionSSL(requestingSession) && !settings.IsEnabledOnSSL)) return;
var gateway = settings.Host.Contains(":")
// IPv6 アドレスをプロキシホストにした場合はホストアドレス部分を [] で囲う形式にする。
? string.Format("[{0}]:{1}", settings.Host, settings.Port)
: string.Format("{0}:{1}", settings.Host, settings.Port);
requestingSession["X-OverrideGateway"] = gateway;
}