MCPcopy
hub / github.com/dgraph-io/dgraph / GetReader

Function GetReader

enc/util.go:43–62  ·  view source on GitHub ↗

GetReader wraps a crypto StreamReader using the input key on the input Reader.

(key x.Sensitive, r io.Reader)

Source from the content-addressed store, hash-verified

41
42// GetReader wraps a crypto StreamReader using the input key on the input Reader.
43func GetReader(key x.Sensitive, r io.Reader) (io.Reader, error) {
44 // No encryption, return input reader as is.
45 if key == nil {
46 return r, nil
47 }
48
49 // Encryption, wrap crypto StreamReader on input Reader.
50 c, err := aes.NewCipher(key)
51 if err != nil {
52 return nil, err
53 }
54 var iv []byte = make([]byte, 16)
55 cnt, err := r.Read(iv)
56 if cnt != 16 || err != nil {
57 err = errors.Errorf("unable to get IV from encrypted backup. Read %v bytes, err %v ",
58 cnt, err)
59 return nil, err
60 }
61 return cipher.StreamReader{S: cipher.NewCTR(c, iv), R: r}, nil
62}

Callers 7

readSchemaFunction · 0.92
readGqlSchemaFunction · 0.92
processSchemaFileMethod · 0.92
runFunction · 0.92
WithEncryptionMethod · 0.92
readGzDataFunction · 0.92
StreamReaderFunction · 0.92

Calls 2

ReadMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected