Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
a7accecc
提交
a7accecc
authored
11月 05, 2014
作者:
Matt Bell
提交者:
Juan Batiz-Benet
11月 14, 2014
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
core/commands2: Moved 'resolve' and 'publish' into subcommands of 'name'
上级
bbca4452
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
75 行增加
和
76 行删除
+75
-76
name.go
core/commands2/name.go
+74
-0
resolve.go
core/commands2/resolve.go
+0
-74
root.go
core/commands2/root.go
+1
-2
没有找到文件。
core/commands2/
publish
.go
→
core/commands2/
name
.go
浏览文件 @
a7accecc
...
@@ -16,6 +16,18 @@ type IpnsEntry struct {
...
@@ -16,6 +16,18 @@ type IpnsEntry struct {
Value
string
Value
string
}
}
type
ResolveOutput
struct
{
Entries
[]
IpnsEntry
}
var
nameCmd
=
&
cmds
.
Command
{
Help
:
"TODO"
,
Subcommands
:
map
[
string
]
*
cmds
.
Command
{
"publish"
:
publishCmd
,
"resolve"
:
resolveCmd
,
},
}
var
publishCmd
=
&
cmds
.
Command
{
var
publishCmd
=
&
cmds
.
Command
{
Arguments
:
[]
cmds
.
Argument
{
Arguments
:
[]
cmds
.
Argument
{
cmds
.
Argument
{
"name"
,
cmds
.
ArgString
,
false
,
false
},
cmds
.
Argument
{
"name"
,
cmds
.
ArgString
,
false
,
false
},
...
@@ -65,6 +77,56 @@ var publishCmd = &cmds.Command{
...
@@ -65,6 +77,56 @@ var publishCmd = &cmds.Command{
Type
:
&
IpnsEntry
{},
Type
:
&
IpnsEntry
{},
}
}
var
resolveCmd
=
&
cmds
.
Command
{
Arguments
:
[]
cmds
.
Argument
{
cmds
.
Argument
{
"name"
,
cmds
.
ArgString
,
false
,
true
},
},
Run
:
func
(
res
cmds
.
Response
,
req
cmds
.
Request
)
{
name
:=
""
args
:=
req
.
Arguments
()
n
:=
req
.
Context
()
.
Node
var
output
[]
IpnsEntry
if
len
(
args
)
==
0
{
if
n
.
Identity
==
nil
{
res
.
SetError
(
errors
.
New
(
"Identity not loaded!"
),
cmds
.
ErrNormal
)
return
}
name
=
n
.
Identity
.
ID
()
.
String
()
entry
,
err
:=
resolve
(
name
,
n
)
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
output
=
[]
IpnsEntry
{
entry
}
}
else
{
output
=
make
([]
IpnsEntry
,
len
(
args
))
for
i
,
arg
:=
range
args
{
var
ok
bool
name
,
ok
=
arg
.
(
string
)
if
!
ok
{
res
.
SetError
(
errors
.
New
(
"cast error"
),
cmds
.
ErrNormal
)
return
}
entry
,
err
:=
resolve
(
name
,
n
)
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
output
[
i
]
=
entry
}
}
res
.
SetOutput
(
&
ResolveOutput
{
output
})
},
Type
:
&
ResolveOutput
{},
}
func
publish
(
n
*
core
.
IpfsNode
,
k
crypto
.
PrivKey
,
ref
string
)
(
*
IpnsEntry
,
error
)
{
func
publish
(
n
*
core
.
IpfsNode
,
k
crypto
.
PrivKey
,
ref
string
)
(
*
IpnsEntry
,
error
)
{
pub
:=
nsys
.
NewRoutingPublisher
(
n
.
Routing
)
pub
:=
nsys
.
NewRoutingPublisher
(
n
.
Routing
)
err
:=
pub
.
Publish
(
k
,
ref
)
err
:=
pub
.
Publish
(
k
,
ref
)
...
@@ -82,3 +144,15 @@ func publish(n *core.IpfsNode, k crypto.PrivKey, ref string) (*IpnsEntry, error)
...
@@ -82,3 +144,15 @@ func publish(n *core.IpfsNode, k crypto.PrivKey, ref string) (*IpnsEntry, error)
Value
:
ref
,
Value
:
ref
,
},
nil
},
nil
}
}
func
resolve
(
name
string
,
n
*
core
.
IpfsNode
)
(
IpnsEntry
,
error
)
{
resolved
,
err
:=
n
.
Namesys
.
Resolve
(
name
)
if
err
!=
nil
{
return
IpnsEntry
{},
err
}
return
IpnsEntry
{
Name
:
name
,
Value
:
resolved
,
},
nil
}
core/commands2/resolve.go
deleted
100644 → 0
浏览文件 @
bbca4452
package
commands
import
(
"errors"
cmds
"github.com/jbenet/go-ipfs/commands"
"github.com/jbenet/go-ipfs/core"
)
type
ResolveOutput
struct
{
Entries
[]
IpnsEntry
}
var
resolveCmd
=
&
cmds
.
Command
{
Arguments
:
[]
cmds
.
Argument
{
cmds
.
Argument
{
"name"
,
cmds
.
ArgString
,
false
,
true
},
},
Run
:
func
(
res
cmds
.
Response
,
req
cmds
.
Request
)
{
name
:=
""
args
:=
req
.
Arguments
()
n
:=
req
.
Context
()
.
Node
var
output
[]
IpnsEntry
if
len
(
args
)
==
0
{
if
n
.
Identity
==
nil
{
res
.
SetError
(
errors
.
New
(
"Identity not loaded!"
),
cmds
.
ErrNormal
)
return
}
name
=
n
.
Identity
.
ID
()
.
String
()
entry
,
err
:=
resolve
(
name
,
n
)
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
output
=
[]
IpnsEntry
{
entry
}
}
else
{
output
=
make
([]
IpnsEntry
,
len
(
args
))
for
i
,
arg
:=
range
args
{
var
ok
bool
name
,
ok
=
arg
.
(
string
)
if
!
ok
{
res
.
SetError
(
errors
.
New
(
"cast error"
),
cmds
.
ErrNormal
)
return
}
entry
,
err
:=
resolve
(
name
,
n
)
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
output
[
i
]
=
entry
}
}
res
.
SetOutput
(
&
ResolveOutput
{
output
})
},
Type
:
&
ResolveOutput
{},
}
func
resolve
(
name
string
,
n
*
core
.
IpfsNode
)
(
IpnsEntry
,
error
)
{
resolved
,
err
:=
n
.
Namesys
.
Resolve
(
name
)
if
err
!=
nil
{
return
IpnsEntry
{},
err
}
return
IpnsEntry
{
Name
:
name
,
Value
:
resolved
,
},
nil
}
core/commands2/root.go
浏览文件 @
a7accecc
...
@@ -59,13 +59,12 @@ var rootSubcommands = map[string]*cmds.Command{
...
@@ -59,13 +59,12 @@ var rootSubcommands = map[string]*cmds.Command{
"cat"
:
catCmd
,
"cat"
:
catCmd
,
"ls"
:
lsCmd
,
"ls"
:
lsCmd
,
"commands"
:
commandsCmd
,
"commands"
:
commandsCmd
,
"
publish"
:
publish
Cmd
,
"
name"
:
name
Cmd
,
"add"
:
addCmd
,
"add"
:
addCmd
,
"log"
:
logCmd
,
"log"
:
logCmd
,
"diag"
:
diagCmd
,
"diag"
:
diagCmd
,
"pin"
:
pinCmd
,
"pin"
:
pinCmd
,
"unpin"
:
unpinCmd
,
"unpin"
:
unpinCmd
,
"resolve"
:
resolveCmd
,
// test subcommands
// test subcommands
// TODO: remove these when we don't need them anymore
// TODO: remove these when we don't need them anymore
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论