diff options
author | 2021-09-12 10:10:24 +0100 | |
---|---|---|
committer | 2021-09-12 10:10:24 +0100 | |
commit | f6492d12d948507021bbe934de94e87e20464c01 (patch) | |
tree | 6705d6ef6f3c4d70f3b3ebc77c2960d8e508cf37 /vendor/git.iim.gay/grufwub/go-hashenc/enc.go | |
parent | Merge pull request #213 from superseriousbusiness/alpine+node_upstep (diff) | |
parent | fix keys used to access storage items (diff) | |
download | gotosocial-f6492d12d948507021bbe934de94e87e20464c01.tar.xz |
Merge pull request #214 from NyaaaWhatsUpDoc/improvement/update-storage-library
add git.iim.gay/grufwub/go-store for storage backend, replacing blob.Storage
Diffstat (limited to 'vendor/git.iim.gay/grufwub/go-hashenc/enc.go')
-rw-r--r-- | vendor/git.iim.gay/grufwub/go-hashenc/enc.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/vendor/git.iim.gay/grufwub/go-hashenc/enc.go b/vendor/git.iim.gay/grufwub/go-hashenc/enc.go new file mode 100644 index 000000000..39b342843 --- /dev/null +++ b/vendor/git.iim.gay/grufwub/go-hashenc/enc.go @@ -0,0 +1,42 @@ +package hashenc + +import ( + "encoding/base32" + "encoding/base64" + "encoding/hex" +) + +// Encoder defines an interface for encoding binary data +type Encoder interface { + // Encode encodes the data at src into dst + Encode(dst []byte, src []byte) + + // EncodedLen returns the encoded length for input data of supplied length + EncodedLen(int) int +} + +// Base32 returns a new base32 Encoder +func Base32() Encoder { + return base32.StdEncoding.WithPadding(base64.NoPadding) +} + +// Base64 returns a new base64 Encoder +func Base64() Encoder { + return base64.URLEncoding.WithPadding(base64.NoPadding) +} + +// Hex returns a new hex Encoder +func Hex() Encoder { + return &hexEncoder{} +} + +// hexEncoder simply provides an empty receiver to satisfy Encoder +type hexEncoder struct{} + +func (*hexEncoder) Encode(dst []byte, src []byte) { + hex.Encode(dst, src) +} + +func (*hexEncoder) EncodedLen(len int) int { + return hex.EncodedLen(len) +} |