Support a proxy in splunk log driver
Signed-off-by: Daniel Nephin <dnephin@docker.com> Upstream-commit: 3c4537d5b33d951237ea5e4cc123953eda7a37e7 Component: engine
This commit is contained in:
@ -218,6 +218,7 @@ func New(info logger.Info) (logger.Logger, error) {
|
||||
|
||||
transport := &http.Transport{
|
||||
TLSClientConfig: tlsConfig,
|
||||
Proxy: http.ProxyFromEnvironment,
|
||||
}
|
||||
client := &http.Client{
|
||||
Transport: transport,
|
||||
|
||||
@ -4,12 +4,14 @@ import (
|
||||
"compress/gzip"
|
||||
"context"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"os"
|
||||
"runtime"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/docker/docker/daemon/logger"
|
||||
"github.com/gotestyourself/gotestyourself/env"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
@ -82,6 +84,36 @@ func TestNewMissedToken(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewWithProxy(t *testing.T) {
|
||||
proxy := "http://proxy.testing:8888"
|
||||
reset := env.Patch(t, "HTTP_PROXY", proxy)
|
||||
defer reset()
|
||||
|
||||
// must not be localhost
|
||||
splunkURL := "http://example.com:12345"
|
||||
logger, err := New(logger.Info{
|
||||
Config: map[string]string{
|
||||
splunkURLKey: splunkURL,
|
||||
splunkTokenKey: "token",
|
||||
splunkVerifyConnectionKey: "false",
|
||||
},
|
||||
ContainerID: "containeriid",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
splunkLogger := logger.(*splunkLoggerInline)
|
||||
|
||||
proxyFunc := splunkLogger.transport.Proxy
|
||||
require.NotNil(t, proxyFunc)
|
||||
|
||||
req, err := http.NewRequest("GET", splunkURL, nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
proxyURL, err := proxyFunc(req)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, proxyURL)
|
||||
require.Equal(t, proxy, proxyURL.String())
|
||||
}
|
||||
|
||||
// Test default settings
|
||||
func TestDefault(t *testing.T) {
|
||||
hec := NewHTTPEventCollectorMock(t)
|
||||
|
||||
Reference in New Issue
Block a user