package shared

import "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared"

Index

Constants

const (
	HeaderAuthorization     = "Authorization"
	HeaderXmsDate           = "x-ms-date"
	HeaderContentLength     = "Content-Length"
	HeaderContentEncoding   = "Content-Encoding"
	HeaderContentLanguage   = "Content-Language"
	HeaderContentType       = "Content-Type"
	HeaderContentMD5        = "Content-MD5"
	HeaderIfModifiedSince   = "If-Modified-Since"
	HeaderIfMatch           = "If-Match"
	HeaderIfNoneMatch       = "If-None-Match"
	HeaderIfUnmodifiedSince = "If-Unmodified-Since"
	HeaderRange             = "Range"
	HeaderXmsVersion        = "x-ms-version"
	HeaderXmsRequestID      = "x-ms-request-id"
)
const (
	TokenScope = "https://storage.azure.com/.default"
)

Variables

var CRC64Table = crc64.MakeTable(crc64Polynomial)

Functions

func CopyOptions

func CopyOptions[T any](opts *T) *T

CopyOptions returns a zero-value T if opts is nil. If opts is not nil, a copy is made and its address returned.

func DoBatchTransfer

func DoBatchTransfer(ctx context.Context, o *BatchTransferOptions) error

DoBatchTransfer helps to execute operations in a batch manner. Can be used by users to customize batch works (for other scenarios that the SDK does not provide)

func GenerateLeaseID

func GenerateLeaseID(leaseID *string) (*string, error)

func GetClientOptions

func GetClientOptions[T any](o *T) *T

func IsIPEndpointStyle

func IsIPEndpointStyle(host string) bool

IsIPEndpointStyle checkes if URL's host is IP, in this case the storage account endpoint will be composed as: http(s)://IP(:port)/storageaccount/container/... As url's Host property, host could be both host or host:port

func NewBytesWriter

func NewBytesWriter(b []byte) bytesWriter

func NewStorageChallengePolicy

func NewStorageChallengePolicy(cred azcore.TokenCredential) policy.Policy

func NopCloser

func NopCloser(rs io.ReadSeeker) io.ReadSeekCloser

NopCloser returns a ReadSeekCloser with a no-op close method wrapping the provided io.ReadSeeker.

func RangeToString

func RangeToString(offset, count int64) string

func SerializeBlobTags

func SerializeBlobTags(tagsMap map[string]string) *generated.BlobTags

SerializeBlobTags converts tags to generated.BlobTags

func SerializeBlobTagsToStrPtr

func SerializeBlobTagsToStrPtr(tagsMap map[string]string) *string

func ValidateSeekableStreamAt0AndGetCount

func ValidateSeekableStreamAt0AndGetCount(body io.ReadSeeker) (int64, error)

Types

type BatchTransferOptions

type BatchTransferOptions struct {
	TransferSize  int64
	ChunkSize     int64
	Concurrency   uint16
	Operation     func(ctx context.Context, offset int64, chunkSize int64) error
	OperationName string
}

BatchTransferOptions identifies options used by doBatchTransfer.

type ParsedConnectionString

type ParsedConnectionString struct {
	ServiceURL  string
	AccountName string
	AccountKey  string
}

func ParseConnectionString

func ParseConnectionString(connectionString string) (ParsedConnectionString, error)

type SectionWriter

type SectionWriter struct {
	Count    int64
	Offset   int64
	Position int64
	WriterAt io.WriterAt
}

func NewSectionWriter

func NewSectionWriter(c io.WriterAt, off int64, count int64) *SectionWriter

func (*SectionWriter) Write

func (c *SectionWriter) Write(p []byte) (int, error)

Source Files

batch_transfer.go bytes_writer.go challenge_policy.go section_writer.go shared.go

Version
v1.1.0
Published
Jul 13, 2023
Platform
windows/amd64
Imports
16 packages
Last checked
21 hours ago

Tools for package owners.