(ctx context.Context, engine Engine, u *URI)
| 64 | } |
| 65 | |
| 66 | func Get(ctx context.Context, engine Engine, u *URI) ([]byte, error) { |
| 67 | r, err := engine.Get(ctx, u) |
| 68 | if err != nil { |
| 69 | return nil, err |
| 70 | } |
| 71 | b, err := io.ReadAll(r) |
| 72 | if closeErr := r.Close(); err == nil { |
| 73 | err = closeErr |
| 74 | } |
| 75 | if err != nil { |
| 76 | return nil, err |
| 77 | } |
| 78 | return b, nil |
| 79 | } |
| 80 | |
| 81 | func Size(r Reader) (int64, error) { |
| 82 | if sizer, ok := r.(Sizer); ok { |