From 2108989c74075daf76f27bdb7334f9e103bc568c Mon Sep 17 00:00:00 2001 From: Gaius Date: Fri, 6 Sep 2024 11:52:28 +0800 Subject: [PATCH] feat: add tag query params for file url (#71) Signed-off-by: Gaius --- benchmark/pkg/backend/file_server.go | 9 +++++++-- benchmark/pkg/dragonfly/dragonfly.go | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/benchmark/pkg/backend/file_server.go b/benchmark/pkg/backend/file_server.go index f8b45d4..0c5e1bd 100644 --- a/benchmark/pkg/backend/file_server.go +++ b/benchmark/pkg/backend/file_server.go @@ -35,7 +35,7 @@ const ( ) type FileServer interface { - GetFileURL(FileSizeLevel) (*url.URL, error) + GetFileURL(FileSizeLevel, string) (*url.URL, error) } type fileServer struct { @@ -46,7 +46,7 @@ func NewFileServer(namespace string) FileServer { return &fileServer{namespace} } -func (f *fileServer) GetFileURL(fileSizeLevel FileSizeLevel) (*url.URL, error) { +func (f *fileServer) GetFileURL(fileSizeLevel FileSizeLevel, tag string) (*url.URL, error) { baseURL := fmt.Sprintf("http://file-server.%s.svc", f.namespace) u, err := url.Parse(baseURL) @@ -54,5 +54,10 @@ func (f *fileServer) GetFileURL(fileSizeLevel FileSizeLevel) (*url.URL, error) { return nil, err } u.Path = path.Join(u.Path, string(fileSizeLevel)) + + // Add tag query parameter. + query := u.Query() + query.Set("tag", tag) + u.RawQuery = query.Encode() return u, nil } diff --git a/benchmark/pkg/dragonfly/dragonfly.go b/benchmark/pkg/dragonfly/dragonfly.go index 4dbab1d..fda3c9c 100644 --- a/benchmark/pkg/dragonfly/dragonfly.go +++ b/benchmark/pkg/dragonfly/dragonfly.go @@ -189,7 +189,7 @@ func (d *dragonfly) DownloadFileByDfget(ctx context.Context, fileSizeLevel backe // downloadFileByDfget downloads file by dfget. func (d *dragonfly) downloadFileByDfget(ctx context.Context, podExec *util.PodExec, fileSizeLevel backend.FileSizeLevel) error { - downloadURL, err := d.fileServer.GetFileURL(fileSizeLevel) + downloadURL, err := d.fileServer.GetFileURL(fileSizeLevel, "dfget") if err != nil { logrus.Errorf("failed to get file URL: %v", err) return err @@ -236,7 +236,7 @@ func (d *dragonfly) DownloadFileByProxy(ctx context.Context, fileSizeLevel backe // downloadFileByProxy downloads file by proxy. func (d *dragonfly) downloadFileByProxy(ctx context.Context, podExec *util.PodExec, fileSizeLevel backend.FileSizeLevel) error { - downloadURL, err := d.fileServer.GetFileURL(fileSizeLevel) + downloadURL, err := d.fileServer.GetFileURL(fileSizeLevel, "proxy") if err != nil { logrus.Errorf("failed to get file URL: %v", err) return err