Skip to content

Commit 0cb9ad6

Browse files
authored
Merge pull request moby#5407 from tonistiigi/llb-http-user-agent
llb: use buildkit user-agent for HTTP source
2 parents 01c1436 + 9f43ed7 commit 0cb9ad6

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

frontend/dockerfile/dockerfile_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2757,6 +2757,11 @@ ADD %s /dest/
27572757
require.NoError(t, err)
27582758
require.Equal(t, []byte("content1"), dt)
27592759

2760+
// run again to test HEAD request
2761+
cmd = sb.Cmd(args)
2762+
err = cmd.Run()
2763+
require.NoError(t, err)
2764+
27602765
// test the default properties
27612766
dockerfile = []byte(fmt.Sprintf(`
27622767
FROM scratch
@@ -2785,6 +2790,13 @@ ADD %s /dest/
27852790
fi, err := os.Stat(destFile)
27862791
require.NoError(t, err)
27872792
require.Equal(t, modTime.Format(http.TimeFormat), fi.ModTime().Format(http.TimeFormat))
2793+
2794+
stats := server.Stats("/foo")
2795+
require.Len(t, stats.Requests, 2)
2796+
require.Equal(t, "GET", stats.Requests[0].Method)
2797+
require.Contains(t, stats.Requests[0].Header.Get("User-Agent"), "buildkit/v")
2798+
require.Equal(t, "HEAD", stats.Requests[1].Method)
2799+
require.Contains(t, stats.Requests[1].Header.Get("User-Agent"), "buildkit/v")
27882800
}
27892801

27902802
func testDockerfileAddArchive(t *testing.T, sb integration.Sandbox) {

source/http/source.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
srctypes "github.com/moby/buildkit/source/types"
2727
"github.com/moby/buildkit/util/bklog"
2828
"github.com/moby/buildkit/util/tracing"
29+
"github.com/moby/buildkit/version"
2930
digest "github.com/opencontainers/go-digest"
3031
"github.com/pkg/errors"
3132
)
@@ -181,6 +182,7 @@ func (hs *httpSourceHandler) CacheKey(ctx context.Context, g session.Group, inde
181182
return "", "", nil, false, err
182183
}
183184
req = req.WithContext(ctx)
185+
req.Header.Add("User-Agent", version.UserAgent())
184186
m := map[string]cacheRefMetadata{}
185187

186188
// If we request a single ETag in 'If-None-Match', some servers omit the

0 commit comments

Comments
 (0)