1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-30 01:52:26 +08:00

Merge pull request #1272 from Luzifer/fix/dnslink

Fix: dnslink domain resolving was broken; Add: no caching for those
This commit is contained in:
Juan Batiz-Benet
2015-05-24 18:47:54 +02:00

View File

@ -2,9 +2,9 @@ package corehttp
import (
"net/http"
"path"
"strings"
isd "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-is-domain"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"github.com/ipfs/go-ipfs/core"
)
@ -20,8 +20,11 @@ func IPNSHostnameOption() ServeOption {
defer cancel()
host := strings.SplitN(r.Host, ":", 2)[0]
if p, err := n.Namesys.Resolve(ctx, host); err == nil {
r.URL.Path = path.Join(p.String(), r.URL.Path)
if len(host) > 0 && isd.IsDomain(host) {
name := "/ipns/" + host
if _, err := n.Namesys.Resolve(ctx, name); err == nil {
r.URL.Path = name + r.URL.Path
}
}
childMux.ServeHTTP(w, r)
})