LoadIndexObject returns entries comprising index object.
(ctx context.Context, cr contentReader, indexObjectID ID)
| 266 | |
| 267 | // LoadIndexObject returns entries comprising index object. |
| 268 | func LoadIndexObject(ctx context.Context, cr contentReader, indexObjectID ID) ([]IndirectObjectEntry, error) { |
| 269 | r, err := openAndAssertLength(ctx, cr, indexObjectID, -1) |
| 270 | if err != nil { |
| 271 | return nil, err |
| 272 | } |
| 273 | defer r.Close() //nolint:errcheck |
| 274 | |
| 275 | var ind indirectObject |
| 276 | |
| 277 | if err := json.NewDecoder(r).Decode(&ind); err != nil { |
| 278 | return nil, errors.Wrap(err, "invalid indirect object") |
| 279 | } |
| 280 | |
| 281 | return ind.Entries, nil |
| 282 | } |
| 283 | |
| 284 | func newRawReader(ctx context.Context, cr contentReader, objectID ID, assertLength int64) (Reader, error) { |
| 285 | contentID, compressed, ok := objectID.ContentID() |