shared

package
v1.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See License.txt in the project root for license information.

Index

Constants

View Source
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"
)
View Source
const (
	TokenScope = "https://storage.azure.com/.default"
)

Variables

View Source
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 EscapeSplitPaths added in v1.1.0

func EscapeSplitPaths(filePath string) string

EscapeSplitPaths is utility function to escape the individual strings by eliminating "/" in the path

func GenerateLeaseID

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

func GetClientOptions

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

func GetURLs

func GetURLs(url string) (string, string)

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 NewIncludeBlobResponsePolicy

func NewIncludeBlobResponsePolicy() policy.Policy

NewIncludeBlobResponsePolicy creates a policy that retrieves the raw HTTP response upon request

func NewStorageChallengePolicy added in v1.1.2

func NewStorageChallengePolicy(cred azcore.TokenCredential, audience string, allowHTTP bool) 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 SerializeBlobTagsToStrPtr

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

func ValidateSeekableStreamAt0AndGetCount

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

func WithCaptureBlobResponse

func WithCaptureBlobResponse(parent context.Context, resp **http.Response) context.Context

WithCaptureBlobResponse applies the HTTP response retrieval annotation to the parent context. The resp parameter will contain the HTTP response after the request has completed.

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 CtxIncludeBlobResponseKey

type CtxIncludeBlobResponseKey struct{}

CtxIncludeBlobResponseKey is used as a context key for retrieving the raw response.

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)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL