Skip to content

Commit

Permalink
address comments from CR
Browse files Browse the repository at this point in the history
  • Loading branch information
whyrusleeping committed Apr 23, 2015
1 parent 89881d1 commit 4b7a867
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 8 deletions.
8 changes: 7 additions & 1 deletion core/commands/publish.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,15 @@ Publish an <ipfs-path> to another public key (not implemented):
}

func publish(n *core.IpfsNode, k crypto.PrivKey, ref path.Path) (*IpnsEntry, error) {
// First, verify the path exists
_, err := n.Resolver.ResolvePath(ref)
if err != nil {
return nil, err
}

pub := nsys.NewRoutingPublisher(n.Routing)

err := pub.Publish(n.Context(), k, ref)
err = pub.Publish(n.Context(), k, ref)
if err != nil {
return nil, err
}
Expand Down
4 changes: 2 additions & 2 deletions core/corehttp/ipns_hostname.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ func IPNSHostnameOption() ServeOption {
defer cancel()

host := strings.SplitN(r.Host, ":", 2)[0]
if k, err := n.Namesys.Resolve(ctx, host); err == nil {
r.URL.Path = "/ipfs/" + k.String() + r.URL.Path
if p, err := n.Namesys.Resolve(ctx, host); err == nil {
r.URL.Path = "/ipfs/" + p.String() + r.URL.Path
}
childMux.ServeHTTP(w, r)
})
Expand Down
17 changes: 12 additions & 5 deletions path/path.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,13 @@ func FromSegments(seg ...string) Path {
}

func ParsePath(txt string) (Path, error) {
kp, err := ParseKeyToPath(txt)
if err == nil {
return kp, nil
}
parts := strings.Split(txt, "/")
if len(parts) == 1 {
kp, err := ParseKeyToPath(txt)
if err == nil {
return kp, nil
}
}
if len(parts) < 3 {
return "", ErrBadPath
}
Expand All @@ -66,7 +68,7 @@ func ParsePath(txt string) (Path, error) {
return "", ErrBadPath
}

_, err = ParseKeyToPath(parts[2])
_, err := ParseKeyToPath(parts[2])
if err != nil {
return "", err
}
Expand All @@ -86,3 +88,8 @@ func ParseKeyToPath(txt string) (Path, error) {
}
return FromKey(u.Key(chk)), nil
}

func (p *Path) IsValid() error {
_, err := ParsePath(p.String())
return err
}

0 comments on commit 4b7a867

Please sign in to comment.