Blame internal/upload/azure/page_blob_url.go

Packit Service 3a6627
// +build !azblob_oldapi
Packit Service 3a6627
//
Packit Service 3a6627
// This file provides a wrapper around azure/azblob PageBlobURL.
Packit Service 3a6627
//
Packit Service 3a6627
// Version 0.12 of the azblob library changed the API of PageBlobURL.
Packit Service 3a6627
// (see https://github.com/Azure/azure-storage-blob-go/blob/master/BreakingChanges.md)
Packit Service 3a6627
// This means that different APIs are available in Fedora 32 and 33 (it does
Packit Service 3a6627
// not matter for RHEL as it uses vendored libraries).
Packit Service 3a6627
// This wrapper allows us to use both azblob's APIs using buildflags.
Packit Service 3a6627
//
Packit Service 3a6627
// This file is a wrapper for azblob equal or newer than 0.12.
Packit Service 3a6627
Packit Service 3a6627
package azure
Packit Service 3a6627
Packit Service 3a6627
import (
Packit Service 3a6627
	"context"
Packit Service 3a6627
	"io"
Packit Service 3a6627
Packit Service 3a6627
	"github.com/Azure/azure-storage-blob-go/azblob"
Packit Service 3a6627
)
Packit Service 3a6627
Packit Service 3a6627
type PageBlobURL struct {
Packit Service 3a6627
	impl azblob.PageBlobURL
Packit Service 3a6627
}
Packit Service 3a6627
Packit Service 3a6627
func newPageBlobURL(containerURL azblob.ContainerURL, blobName string) PageBlobURL {
Packit Service 3a6627
	pageblobURL := containerURL.NewPageBlobURL(blobName)
Packit Service 3a6627
Packit Service 3a6627
	return PageBlobURL{pageblobURL}
Packit Service 3a6627
}
Packit Service 3a6627
Packit Service 3a6627
func (pb PageBlobURL) Create(ctx context.Context, size int64, sequenceNumber int64, h azblob.BlobHTTPHeaders, metadata azblob.Metadata, ac azblob.BlobAccessConditions) (*azblob.PageBlobCreateResponse, error) {
Packit Service 3a6627
	return pb.impl.Create(ctx, size, sequenceNumber, h, metadata, ac, azblob.PremiumPageBlobAccessTierNone, azblob.BlobTagsMap{}, azblob.ClientProvidedKeyOptions{})
Packit Service 3a6627
}
Packit Service 3a6627
Packit Service 3a6627
func (pb PageBlobURL) SetHTTPHeaders(ctx context.Context, h azblob.BlobHTTPHeaders, ac azblob.BlobAccessConditions) (*azblob.BlobSetHTTPHeadersResponse, error) {
Packit Service 3a6627
	return pb.impl.SetHTTPHeaders(ctx, h, ac)
Packit Service 3a6627
}
Packit Service 3a6627
Packit Service 3a6627
func (pb PageBlobURL) UploadPages(ctx context.Context, offset int64, body io.ReadSeeker, ac azblob.PageBlobAccessConditions, transactionalMD5 []byte) (*azblob.PageBlobUploadPagesResponse, error) {
Packit Service 3a6627
	return pb.impl.UploadPages(ctx, offset, body, ac, transactionalMD5, azblob.ClientProvidedKeyOptions{})
Packit Service 3a6627
}
Packit Service 3a6627
Packit Service 3a6627
func (pb PageBlobURL) GetProperties(ctx context.Context, ac azblob.BlobAccessConditions) (*azblob.BlobGetPropertiesResponse, error) {
Packit Service 3a6627
	return pb.impl.GetProperties(ctx, ac, azblob.ClientProvidedKeyOptions{})
Packit Service 3a6627
}