提交 fc8d2258 作者: Juan Batiz-Benet

Merge pull request #1219 from ipfs/refactor/httpGateway-quickfix

Refactor/http gateway quickfix (1191)
...@@ -15,15 +15,22 @@ type directoryBuilder struct { ...@@ -15,15 +15,22 @@ type directoryBuilder struct {
dirnode *mdag.Node dirnode *mdag.Node
} }
// NewEmptyDirectory returns an empty merkledag Node with a folder Data chunk
func NewEmptyDirectory() *mdag.Node {
return &mdag.Node{Data: format.FolderPBData()}
}
// NewDirectory returns a directoryBuilder. It needs a DAGService to add the Children
func NewDirectory(dserv mdag.DAGService) *directoryBuilder { func NewDirectory(dserv mdag.DAGService) *directoryBuilder {
db := new(directoryBuilder) db := new(directoryBuilder)
db.dserv = dserv db.dserv = dserv
db.dirnode = new(mdag.Node) db.dirnode = NewEmptyDirectory()
db.dirnode.Data = format.FolderPBData()
return db return db
} }
// AddChild adds a (name, key)-pair to the root node.
func (d *directoryBuilder) AddChild(name string, k u.Key) error { func (d *directoryBuilder) AddChild(name string, k u.Key) error {
// TODO(cryptix): consolidate context managment
ctx, cancel := context.WithTimeout(context.TODO(), time.Minute) ctx, cancel := context.WithTimeout(context.TODO(), time.Minute)
defer cancel() defer cancel()
...@@ -40,6 +47,7 @@ func (d *directoryBuilder) AddChild(name string, k u.Key) error { ...@@ -40,6 +47,7 @@ func (d *directoryBuilder) AddChild(name string, k u.Key) error {
return nil return nil
} }
// GetNode returns the root of this directoryBuilder
func (d *directoryBuilder) GetNode() *mdag.Node { func (d *directoryBuilder) GetNode() *mdag.Node {
return d.dirnode return d.dirnode
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论