https://wicg.github.io/webpackage/draft-yasskin-dispatch-bundled-exchanges.html#load-metadata Steps 3-7.
(w io.Writer, sections []section)
| 513 | // https://wicg.github.io/webpackage/draft-yasskin-dispatch-bundled-exchanges.html#load-metadata |
| 514 | // Steps 3-7. |
| 515 | func writeSectionOffsets(w io.Writer, sections []section) error { |
| 516 | var b bytes.Buffer |
| 517 | nenc := cbor.NewEncoder(&b) |
| 518 | if err := nenc.EncodeArrayHeader(len(sections) * 2); err != nil { |
| 519 | return err |
| 520 | } |
| 521 | for _, s := range sections { |
| 522 | if err := nenc.EncodeTextString(s.Name()); err != nil { |
| 523 | return err |
| 524 | } |
| 525 | if err := nenc.EncodeUint(uint64(s.Len())); err != nil { |
| 526 | return err |
| 527 | } |
| 528 | } |
| 529 | |
| 530 | enc := cbor.NewEncoder(w) |
| 531 | if err := enc.EncodeByteString(b.Bytes()); err != nil { |
| 532 | return err |
| 533 | } |
| 534 | return nil |
| 535 | } |
| 536 | |
| 537 | func writeSectionHeader(w io.Writer, numSections int) error { |
| 538 | enc := cbor.NewEncoder(w) |
no test coverage detected