Documentation ¶
Index ¶
- type BadDigest
- type ErrSizeMismatch
- type Reader
- func (r *Reader) ActualSize() int64
- func (r *Reader) Close() error
- func (r *Reader) ETag() etag.ETag
- func (r *Reader) MD5() []byte
- func (r *Reader) MD5Base64String() string
- func (r *Reader) MD5Current() []byte
- func (r *Reader) MD5HexString() string
- func (r *Reader) Read(p []byte) (int, error)
- func (r *Reader) SHA256() []byte
- func (r *Reader) SHA256HexString() string
- func (r *Reader) Size() int64
- type SHA256Mismatch
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ErrSizeMismatch ¶
ErrSizeMismatch error size mismatch
func (ErrSizeMismatch) Error ¶
func (e ErrSizeMismatch) Error() string
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
A Reader wraps an io.Reader and computes the MD5 checksum of the read content as ETag. Optionally, it also computes the SHA256 checksum of the content.
If the reference values for the ETag and content SHA26 are not empty then it will check whether the computed match the reference values.
func NewReader ¶
func NewReader(src io.Reader, size int64, md5Hex, sha256Hex string, actualSize int64) (*Reader, error)
NewReader returns a new Reader that wraps src and computes MD5 checksum of everything it reads as ETag.
It also computes the SHA256 checksum of everything it reads if sha256Hex is not the empty string.
If size resp. actualSize is unknown at the time of calling NewReader then it should be set to -1.
NewReader may try merge the given size, MD5 and SHA256 values into src - if src is a Reader - to avoid computing the same checksums multiple times.
func (*Reader) ActualSize ¶
ActualSize returns the pre-modified size of the object. DecompressedSize - For compressed objects.
func (*Reader) ETag ¶
ETag returns the ETag computed by an underlying etag.Tagger. If the underlying io.Reader does not implement etag.Tagger it returns nil.
func (*Reader) MD5 ¶
MD5 returns the MD5 checksum set as reference value.
It corresponds to the checksum that is expected and not the actual MD5 checksum of the content. Therefore, refer to MD5Current.
func (*Reader) MD5Base64String ¶
MD5Base64String returns a hex representation of the MD5.
func (*Reader) MD5Current ¶
MD5Current returns the MD5 checksum of the content that has been read so far.
Calling MD5Current again after reading more data may result in a different checksum.
func (*Reader) MD5HexString ¶
MD5HexString returns a hex representation of the MD5.
func (*Reader) SHA256 ¶
SHA256 returns the SHA256 checksum set as reference value.
It corresponds to the checksum that is expected and not the actual SHA256 checksum of the content.
func (*Reader) SHA256HexString ¶
SHA256HexString returns a hex representation of the SHA256.
type SHA256Mismatch ¶
SHA256Mismatch - when content sha256 does not match with what was sent from client.
func (SHA256Mismatch) Error ¶
func (e SHA256Mismatch) Error() string