Skip to content

Commit

Permalink
feat: add tag query params for file url (#71)
Browse files Browse the repository at this point in the history
Signed-off-by: Gaius <[email protected]>
  • Loading branch information
gaius-qi authored Sep 6, 2024
1 parent 9b30cdb commit 2108989
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
9 changes: 7 additions & 2 deletions benchmark/pkg/backend/file_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const (
)

type FileServer interface {
GetFileURL(FileSizeLevel) (*url.URL, error)
GetFileURL(FileSizeLevel, string) (*url.URL, error)
}

type fileServer struct {
Expand All @@ -46,13 +46,18 @@ 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)
if err != nil {
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
}
4 changes: 2 additions & 2 deletions benchmark/pkg/dragonfly/dragonfly.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 2108989

Please sign in to comment.