From 4bcacc593647bf3cde24e7d0a3147caa89fe87d7 Mon Sep 17 00:00:00 2001 From: Jeromy Date: Wed, 2 Sep 2015 10:12:04 -0700 Subject: [PATCH] address most of CR comments License: MIT Signed-off-by: Jeromy --- commands/files/multipartfile.go | 4 ++- commands/http/multifilereader.go | 3 +-- fuse/readonly/readonly_unix.go | 45 ++++++++++++-------------------- 3 files changed, 21 insertions(+), 31 deletions(-) diff --git a/commands/files/multipartfile.go b/commands/files/multipartfile.go index b43cb8624..7cd4930a8 100644 --- a/commands/files/multipartfile.go +++ b/commands/files/multipartfile.go @@ -12,6 +12,8 @@ const ( multipartFormdataType = "multipart/form-data" multipartMixedType = "multipart/mixed" + applicationSymlink = "application/symlink" + contentTypeHeader = "Content-Type" ) @@ -31,7 +33,7 @@ func NewFileFromPart(part *multipart.Part) (File, error) { } contentType := part.Header.Get(contentTypeHeader) - if contentType == "symlink" { + if contentType == applicationSymlink { out, err := ioutil.ReadAll(part) if err != nil { return nil, err diff --git a/commands/http/multifilereader.go b/commands/http/multifilereader.go index 83d59dc9e..6378ab493 100644 --- a/commands/http/multifilereader.go +++ b/commands/http/multifilereader.go @@ -69,8 +69,7 @@ func (mfr *MultiFileReader) Read(buf []byte) (written int, err error) { if s, ok := file.(*files.Symlink); ok { mfr.currentFile = s - // TODO(why): this is a hack. pick a real contentType - contentType = "symlink" + contentType = "application/symlink" } else if file.IsDirectory() { // if file is a directory, create a multifilereader from it // (using 'multipart/mixed') diff --git a/fuse/readonly/readonly_unix.go b/fuse/readonly/readonly_unix.go index d032f7bf1..275c0d90c 100644 --- a/fuse/readonly/readonly_unix.go +++ b/fuse/readonly/readonly_unix.go @@ -8,7 +8,6 @@ import ( "io" "os" "syscall" - "time" fuse "github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse" fs "github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs" @@ -60,8 +59,6 @@ func (s *Root) Lookup(ctx context.Context, name string) (fs.Node, error) { return nil, fuse.ENOENT } - log.Error("RESOLVE: ", name) - ctx, _ = context.WithTimeout(ctx, time.Second/2) nd, err := s.Ipfs.Resolver.ResolvePath(ctx, path.Path(name)) if err != nil { // todo: make this error more versatile. @@ -100,35 +97,27 @@ func (s *Node) Attr(ctx context.Context, a *fuse.Attr) error { } switch s.cached.GetType() { case ftpb.Data_Directory: - *a = fuse.Attr{ - Mode: os.ModeDir | 0555, - Uid: uint32(os.Getuid()), - Gid: uint32(os.Getgid()), - } + a.Mode = os.ModeDir | 0555 + a.Uid = uint32(os.Getuid()) + a.Gid = uint32(os.Getgid()) case ftpb.Data_File: size := s.cached.GetFilesize() - *a = fuse.Attr{ - Mode: 0444, - Size: uint64(size), - Blocks: uint64(len(s.Nd.Links)), - Uid: uint32(os.Getuid()), - Gid: uint32(os.Getgid()), - } + a.Mode = 0444 + a.Size = uint64(size) + a.Blocks = uint64(len(s.Nd.Links)) + a.Uid = uint32(os.Getuid()) + a.Gid = uint32(os.Getgid()) case ftpb.Data_Raw: - *a = fuse.Attr{ - Mode: 0444, - Size: uint64(len(s.cached.GetData())), - Blocks: uint64(len(s.Nd.Links)), - Uid: uint32(os.Getuid()), - Gid: uint32(os.Getgid()), - } + a.Mode = 0444 + a.Size = uint64(len(s.cached.GetData())) + a.Blocks = uint64(len(s.Nd.Links)) + a.Uid = uint32(os.Getuid()) + a.Gid = uint32(os.Getgid()) case ftpb.Data_Symlink: - *a = fuse.Attr{ - Mode: 0777 | os.ModeSymlink, - Size: uint64(len(s.cached.GetData())), - Uid: uint32(os.Getuid()), - Gid: uint32(os.Getgid()), - } + a.Mode = 0777 | os.ModeSymlink + a.Size = uint64(len(s.cached.GetData())) + a.Uid = uint32(os.Getuid()) + a.Gid = uint32(os.Getgid()) default: return fmt.Errorf("Invalid data type - %s", s.cached.GetType())