diff --git a/base/nfs/cat.go b/base/nfs/cat.go index 0b083dc8..27e9c3f2 100644 --- a/base/nfs/cat.go +++ b/base/nfs/cat.go @@ -36,7 +36,11 @@ func _cat_find(m *ice.Message, name string) io.ReadCloser { return kit.NewReadCloser(bytes.NewBuffer(b)) } - return kit.NewReadCloser(bytes.NewBufferString(m.Cmdx("web.spide", "dev", "raw", "GET", path.Join("/share/local/", name)))) + msg := m.Cmd("web.spide", "dev", "raw", "GET", path.Join("/share/local/", name)) + if msg.Result(0) == ice.ErrWarn { + return kit.NewReadCloser(bytes.NewBufferString("")) + } + return kit.NewReadCloser(bytes.NewBufferString(msg.Result())) } func _cat_show(m *ice.Message, name string) { if !_cat_right(m, name) { diff --git a/base/web/spide.go b/base/web/spide.go index 54ec1a5d..197c105e 100644 --- a/base/web/spide.go +++ b/base/web/spide.go @@ -102,6 +102,10 @@ func _spide_show(m *ice.Message, arg ...string) { if m.Warn(res.StatusCode != http.StatusOK, res.Status) { switch m.Set(ice.MSG_RESULT); res.StatusCode { case http.StatusNotFound: + m.Warn(true, ice.ErrNotFound, " of ", uri) + return + case http.StatusUnauthorized: + m.Warn(true, ice.ErrNotRight, " of ", uri) return default: }