提交 36a1eb6f 作者: vyzo 提交者: Łukasz Magiera

namecache: normalize name at namecache interface boundary

License: MIT
Signed-off-by: 's avatarvyzo <vyzo@hackzen.org>
上级 ec7116ac
......@@ -65,6 +65,10 @@ func (nc *nameCache) Follow(name string, pinit bool, followInterval time.Duratio
nc.mx.Lock()
defer nc.mx.Unlock()
if !strings.HasPrefix(name, "/ipns/") {
name = "/ipns/" + name
}
if _, ok := nc.follows[name]; ok {
return fmt.Errorf("Already following %s", name)
}
......@@ -81,6 +85,10 @@ func (nc *nameCache) Unfollow(name string) error {
nc.mx.Lock()
defer nc.mx.Unlock()
if !strings.HasPrefix(name, "/ipns/") {
name = "/ipns/" + name
}
cancel, ok := nc.follows[name]
if !ok {
return fmt.Errorf("Unknown name %s", name)
......@@ -223,10 +231,6 @@ func (nc *nameCache) unpin(cid cid.Cid) error {
func (nc *nameCache) resolve(ctx context.Context, name string) (path.Path, error) {
log.Debugf("resolving %s", name)
if !strings.HasPrefix(name, "/ipns/") {
name = "/ipns/" + name
}
rctx, cancel := context.WithTimeout(ctx, resolveTimeout)
defer cancel()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论