aboutsummaryrefslogtreecommitdiff
path: root/object/fetch/header.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/fetch/header.go')
-rw-r--r--object/fetch/header.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/object/fetch/header.go b/object/fetch/header.go
new file mode 100644
index 00000000..ee02ef69
--- /dev/null
+++ b/object/fetch/header.go
@@ -0,0 +1,30 @@
+package fetch
+
+import (
+ oid "lindenii.org/go/furgit/object/id"
+ "lindenii.org/go/furgit/object/typ"
+)
+
+// Header returns the object type and content size at id.
+//
+// Labels: Life-Parent.
+func (fetcher *Fetcher) Header(id oid.ObjectID) (typ.Type, int, error) {
+ ty, size, err := fetcher.store.ReadHeader(id)
+ if err != nil {
+ return typ.Unknown, 0, wrapObjectReadError(id, err)
+ }
+
+ return ty, size, nil
+}
+
+// Size returns the object content size at id.
+//
+// Labels: Life-Parent.
+func (fetcher *Fetcher) Size(id oid.ObjectID) (int, error) {
+ size, err := fetcher.store.ReadSize(id)
+ if err != nil {
+ return 0, wrapObjectReadError(id, err)
+ }
+
+ return size, nil
+}