Skip to content
Snippets Groups Projects
Commit 87ce7abe authored by Henry's avatar Henry Committed by Juan Batiz-Benet
Browse files

unixfs/io: added NewEmptyDirectory()

some golinting along the way
parent 31b83abf
Branches
Tags
No related merge requests found
...@@ -240,7 +240,7 @@ func (i *gatewayHandler) postHandler(w http.ResponseWriter, r *http.Request) { ...@@ -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) { ...@@ -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 {
......
...@@ -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
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment