MCPcopy Create free account
hub / github.com/WICG/webpackage / EncodeHeader

Method EncodeHeader

go/bundle/encoder.go:40–61  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

38}
39
40func (r Response) EncodeHeader() ([]byte, error) {
41 var b bytes.Buffer
42 enc := cbor.NewEncoder(&b)
43
44 mes := []*cbor.MapEntryEncoder{
45 cbor.GenerateMapEntry(func(keyE *cbor.Encoder, valueE *cbor.Encoder) {
46 keyE.EncodeByteString([]byte(":status"))
47 valueE.EncodeByteString([]byte(strconv.Itoa(r.Status)))
48 }),
49 }
50 for name, value := range r.Header {
51 mes = append(mes,
52 cbor.GenerateMapEntry(func(keyE *cbor.Encoder, valueE *cbor.Encoder) {
53 keyE.EncodeByteString([]byte(strings.ToLower(name)))
54 valueE.EncodeByteString([]byte(normalizeHeaderValues(value)))
55 }))
56 }
57 if err := enc.EncodeMap(mes); err != nil {
58 return nil, fmt.Errorf("bundle: Failed to encode response header: %v", err)
59 }
60 return b.Bytes(), nil
61}
62
63func (r Response) HeaderSha256() ([]byte, error) {
64 headerBytes, err := r.EncodeHeader()

Callers 2

HeaderSha256Method · 0.95
addResponseMethod · 0.80

Calls 5

EncodeMapMethod · 0.95
NewEncoderFunction · 0.92
GenerateMapEntryFunction · 0.92
EncodeByteStringMethod · 0.80
normalizeHeaderValuesFunction · 0.70

Tested by

no test coverage detected