MCPcopy Create free account
hub / github.com/ContentSquare/chproxy / readHeader

Function readHeader

cache/filesystem_cache.go:331–342  ·  view source on GitHub ↗

readHeader decodes headers to big endian

(r io.Reader)

Source from the content-addressed store, hash-verified

329
330// readHeader decodes headers to big endian
331func readHeader(r io.Reader) (string, error) {
332 b := make([]byte, 4)
333 if _, err := io.ReadFull(r, b); err != nil {
334 return "", fmt.Errorf("cannot read header length: %w", err)
335 }
336 n := uint32(b[3]) | (uint32(b[2]) << 8) | (uint32(b[1]) << 16) | (uint32(b[0]) << 24)
337 s := make([]byte, n)
338 if _, err := io.ReadFull(r, s); err != nil {
339 return "", fmt.Errorf("cannot read header value with length %d: %w", n, err)
340 }
341 return string(s), nil
342}

Callers 2

decodeHeaderFunction · 0.85
TestWriteReadHeaderFunction · 0.85

Calls

no outgoing calls

Tested by 1

TestWriteReadHeaderFunction · 0.68