package blob import ( "context" "forge.cadoles.com/arcad/edge/pkg/storage" "forge.cadoles.com/arcad/edge/pkg/storage/rpc/gob" "github.com/pkg/errors" ) type GetBlobInfoArgs struct { BlobID storage.BlobID BucketID BucketID } type GetBlobInfoReply struct { BlobInfo storage.BlobInfo } func (s *Service) GetBlobInfo(ctx context.Context, args *GetBlobInfoArgs, reply *GetBlobInfoReply) error { bucket, err := s.getOpenedBucket(args.BucketID) if err != nil { return errors.WithStack(err) } blobInfo, err := bucket.Get(ctx, args.BlobID) if err != nil { return errors.WithStack(err) } *reply = GetBlobInfoReply{ BlobInfo: &gob.BlobInfo{ Bucket_: blobInfo.Bucket(), ContentType_: blobInfo.ContentType(), BlobID_: blobInfo.ID(), ModTime_: blobInfo.ModTime(), Size_: blobInfo.Size(), }, } return nil }