func()

in client/client.go [279:311]


func (a Args) toClients() (*http.Client, *storage.Client, error) {
	if err := a.validate(); err != nil {
		return nil, nil, err
	}

	httpOpts := []http.Option{}
	if !a.HTTP.Compression {
		httpOpts = append(httpOpts, http.WithoutCompression())
	}

	httpClient, err := http.New(a.HTTP.Endpoint, a.HTTP.Cred, a.HTTP.Opts, httpOpts...)
	if err != nil {
		return nil, nil, fmt.Errorf("failed to create HTTP client: %w", err)
	}

	blobOpts := []storage.Option{
		storage.WithLogger(a.logger),
	}

	if a.Blob.Opts != nil {
		blobOpts = append(blobOpts, storage.WithPolicyOptions(*a.Blob.Opts))
	}
	if a.Blob.ContainerExt != "" {
		blobOpts = append(blobOpts, storage.WithContainerExt(a.Blob.ContainerExt))
	}

	blobClient, err := storage.New(a.Blob.Endpoint, a.Blob.Cred, blobOpts...)
	if err != nil {
		return nil, nil, fmt.Errorf("failed to create blob client: %w", err)
	}

	return httpClient, blobClient, nil
}