1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-29 17:36:38 +08:00

unixfs/io: added NewEmptyDirectory()

some golinting along the way
This commit is contained in:
Henry
2015-05-09 11:49:02 +02:00
committed by Juan Batiz-Benet
parent 31b83abfe4
commit 87ce7abe47
2 changed files with 12 additions and 4 deletions

View File

@ -240,7 +240,7 @@ func (i *gatewayHandler) postHandler(w http.ResponseWriter, r *http.Request) {
} }
func (i *gatewayHandler) putEmptyDirHandler(w http.ResponseWriter, r *http.Request) { func (i *gatewayHandler) putEmptyDirHandler(w http.ResponseWriter, r *http.Request) {
newnode := uio.NewDirectory(i.node.DAG).GetNode() newnode := uio.NewEmptyDirectory()
key, err := i.node.DAG.Add(newnode) key, err := i.node.DAG.Add(newnode)
if err != nil { if err != nil {
@ -266,7 +266,7 @@ func (i *gatewayHandler) putHandler(w http.ResponseWriter, r *http.Request) {
var newnode *dag.Node var newnode *dag.Node
if pathext[len(pathext)-1] == '/' { if pathext[len(pathext)-1] == '/' {
newnode = uio.NewDirectory(i.node.DAG).GetNode() newnode = uio.NewEmptyDirectory()
} else { } else {
newnode, err = i.newDagFromReader(r.Body) newnode, err = i.newDagFromReader(r.Body)
if err != nil { if err != nil {

View File

@ -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 {
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
} }