提交 2759d1c1 作者: Matt Bell 提交者: Juan Batiz-Benet

core/corehttp: Added handling of /ipns/<hash>/x paths

上级 950e492f
......@@ -66,9 +66,12 @@ func (i *gatewayHandler) loadTemplate() error {
}
func (i *gatewayHandler) ResolvePath(ctx context.Context, p string) (*dag.Node, string, error) {
p = path.Clean(p)
if strings.HasPrefix(p, "/ipns/") {
elements := strings.Split(path.Clean(p[6:]), "/")
k, err := i.node.Namesys.Resolve(ctx, elements[0])
elements := strings.Split(p[6:], "/")
hash := elements[0]
k, err := i.node.Namesys.Resolve(ctx, hash)
if err != nil {
return nil, "", err
}
......@@ -169,16 +172,15 @@ func (i *gatewayHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
break
}
di := directoryItem{link.Size, link.Name, path.Join(p, link.Name)}
di := directoryItem{link.Size, link.Name, path.Join(urlPath, link.Name)}
dirListing = append(dirListing, di)
}
if !foundIndex {
// template and return directory listing
hndlr := webHandler{
"listing": dirListing,
"path": urlPath,
"actualPath": p,
"listing": dirListing,
"path": urlPath,
}
if err := i.dirList.Execute(w, hndlr); err != nil {
internalWebError(w, err)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论