@cryptotaxi247 / kubo / commits / 87ce7abe4

unixfs/io: added NewEmptyDirectory()

some golinting along the way

Henry committed May 9, 2015 at 11:49 UTC 87ce7abe47a8fa24a23f01e71fd172cd2f05d1d5
2 files changed +12 -4
core/corehttp/gateway_handler.go
+2 -2
@@ -240,7 +240,7 @@ func (i *gatewayHandler) postHandler(w http.ResponseWriter, r *http.Request) {
240 }
241
242 func (i *gatewayHandler) putEmptyDirHandler(w http.ResponseWriter, r *http.Request) {
243 - newnode := uio.NewDirectory(i.node.DAG).GetNode()
243 + newnode := uio.NewEmptyDirectory()
244
245 key, err := i.node.DAG.Add(newnode)
246 if err != nil {
@@ -266,7 +266,7 @@ func (i *gatewayHandler) putHandler(w http.ResponseWriter, r *http.Request) {
266
267 var newnode *dag.Node
268 if pathext[len(pathext)-1] == '/' {
269 - newnode = uio.NewDirectory(i.node.DAG).GetNode()
269 + newnode = uio.NewEmptyDirectory()
270 } else {
271 newnode, err = i.newDagFromReader(r.Body)
272 if err != nil {
unixfs/io/dirbuilder.go
+10 -2
@@ -15,15 +15,22 @@ type directoryBuilder struct {
15 dirnode *mdag.Node
16 }
17
18 +// NewEmptyDirectory returns an empty merkledag Node with a folder Data chunk
19 +func NewEmptyDirectory() *mdag.Node {
20 + return &mdag.Node{Data: format.FolderPBData()}
21 +}
22 +
23 +// NewDirectory returns a directoryBuilder. It needs a DAGService to add the Children
24 func NewDirectory(dserv mdag.DAGService) *directoryBuilder {
25 db := new(directoryBuilder)
26 db.dserv = dserv
21 - db.dirnode = new(mdag.Node)
22 - db.dirnode.Data = format.FolderPBData()
27 + db.dirnode = NewEmptyDirectory()
28 return db
29 }
30
31 +// AddChild adds a (name, key)-pair to the root node.
32 func (d *directoryBuilder) AddChild(name string, k u.Key) error {
33 + // TODO(cryptix): consolidate context managment
34 ctx, cancel := context.WithTimeout(context.TODO(), time.Minute)
35 defer cancel()
36
@@ -40,6 +47,7 @@ func (d *directoryBuilder) AddChild(name string, k u.Key) error {
47 return nil
48 }
49
50 +// GetNode returns the root of this directoryBuilder
51 func (d *directoryBuilder) GetNode() *mdag.Node {
52 return d.dirnode
53 }