diff options
author | Giulio M <sperectrum@gmail.com> | 2018-08-08 15:33:06 +0800 |
---|---|---|
committer | Balint Gabor <balint.g@gmail.com> | 2018-08-08 15:33:06 +0800 |
commit | a1eb9c7d13240fd250866219a502d0cdc9924e06 (patch) | |
tree | 37126b9c5d169bd9eadf0559edbbea7075eecbb0 | |
parent | 00e6da9704b2cd7ddcc1cd31ed3f6bbaa8e1e284 (diff) | |
download | go-tangerine-a1eb9c7d13240fd250866219a502d0cdc9924e06.tar.gz go-tangerine-a1eb9c7d13240fd250866219a502d0cdc9924e06.tar.zst go-tangerine-a1eb9c7d13240fd250866219a502d0cdc9924e06.zip |
swarm/api/http: fixed list leaf links (#17342)
-rw-r--r-- | swarm/api/http/server_test.go | 6 | ||||
-rw-r--r-- | swarm/api/http/templates.go | 15 |
2 files changed, 15 insertions, 6 deletions
diff --git a/swarm/api/http/server_test.go b/swarm/api/http/server_test.go index 3ac60596b..7934e37eb 100644 --- a/swarm/api/http/server_test.go +++ b/swarm/api/http/server_test.go @@ -576,7 +576,7 @@ func testBzzGetPath(encrypted bool, t *testing.T) { pageFragments: []string{ fmt.Sprintf("Swarm index of bzz:/%s/a/", ref), `<a class="normal-link" href="b/">b/</a>`, - `<a class="normal-link" href="a">a</a>`, + fmt.Sprintf(`<a class="normal-link" href="/bzz:/%s/a/a">a</a>`, ref), }, }, { @@ -584,8 +584,8 @@ func testBzzGetPath(encrypted bool, t *testing.T) { json: `{"entries":[{"hash":"011b4d03dd8c01f1049143cf9c4c817e4b167f1d1b83e5c6f0f10d89ba1e7bce","path":"a/b/b","mod_time":"0001-01-01T00:00:00Z"},{"hash":"011b4d03dd8c01f1049143cf9c4c817e4b167f1d1b83e5c6f0f10d89ba1e7bce","path":"a/b/c","mod_time":"0001-01-01T00:00:00Z"}]}`, pageFragments: []string{ fmt.Sprintf("Swarm index of bzz:/%s/a/b/", ref), - `<a class="normal-link" href="b">b</a>`, - `<a class="normal-link" href="c">c</a>`, + fmt.Sprintf(`<a class="normal-link" href="/bzz:/%s/a/b/b">b</a>`, ref), + fmt.Sprintf(`<a class="normal-link" href="/bzz:/%s/a/b/c">c</a>`, ref), }, }, { diff --git a/swarm/api/http/templates.go b/swarm/api/http/templates.go index 1cd42ca37..986f5f887 100644 --- a/swarm/api/http/templates.go +++ b/swarm/api/http/templates.go @@ -18,6 +18,7 @@ package http import ( "encoding/hex" + "fmt" "html/template" "path" @@ -45,7 +46,10 @@ func init() { { templateName: "bzz-list", partial: bzzList, - funcs: template.FuncMap{"basename": path.Base}, + funcs: template.FuncMap{ + "basename": path.Base, + "leaflink": leafLink, + }, }, { templateName: "landing-page", @@ -62,6 +66,10 @@ func init() { faviconBytes = bytes } +func leafLink(URI api.URI, manifestEntry api.ManifestEntry) string { + return fmt.Sprintf("/bzz:/%s/%s", URI.Addr, manifestEntry.Path) +} + const bzzList = `{{ define "content" }} <h3 class="top-space">Swarm index of {{ .URI }}</h3> <hr> @@ -83,10 +91,11 @@ const bzzList = `{{ define "content" }} <td>DIR</td> <td>-</td> </tr> - {{ end }} {{ range .List.Entries }} + {{ end }} + {{ range .List.Entries }} <tr> <td> - <a class="normal-link" href="{{ basename .Path }}">{{ basename .Path }}</a> + <a class="normal-link" href="{{ leaflink $.URI . }}">{{ basename .Path }}</a> </td> <td>{{ .ContentType }}</td> <td>{{ .Size }}</td> |