/read and that manifest containes entries
+//"readme.md" and "readinglist.txt", a HTML page is returned with this two links.
+//This only applies if the manifest has no default entry
+func ShowMultipleChoices(w http.ResponseWriter, r *http.Request, list api.ManifestList) {
+ msg := ""
+ if list.Entries == nil {
+ ShowError(w, r, "Internal Server Error", http.StatusInternalServerError)
+ return
+ }
+ //make links relative
+ //requestURI comes with the prefix of the ambiguous path, e.g. "read" for "readme.md" and "readinglist.txt"
+ //to get clickable links, need to remove the ambiguous path, i.e. "read"
+ idx := strings.LastIndex(r.RequestURI, "/")
+ if idx == -1 {
+ ShowError(w, r, "Internal Server Error", http.StatusInternalServerError)
+ return
+ }
+ //remove ambiguous part
+ base := r.RequestURI[:idx+1]
+ for _, e := range list.Entries {
+ //create clickable link for each entry
+ msg += "" + e.Path + "
"
+ }
+ respond(w, r, &ErrorParams{
+ Code: http.StatusMultipleChoices,
+ Details: template.HTML(msg),
+ Timestamp: time.Now().Format(time.RFC1123),
+ template: getTemplate(http.StatusMultipleChoices),
+ })
+}
+
//ShowError is used to show an HTML error page to a client.
//If there is an `Accept` header of `application/json`, JSON will be returned instead
//The function just takes a string message which will be displayed in the error page.
diff --git a/vendor/github.com/ethereum/go-ethereum/swarm/api/http/error_templates.go b/vendor/github.com/ethereum/go-ethereum/swarm/api/http/error_templates.go
index 29bd3bfbb..2c20ba8f9 100644
--- a/vendor/github.com/ethereum/go-ethereum/swarm/api/http/error_templates.go
+++ b/vendor/github.com/ethereum/go-ethereum/swarm/api/http/error_templates.go
@@ -165,7 +165,7 @@ func GetGenericErrorPage() string {
- {{.Msg}}
+ {{.Msg}}
|
@@ -339,7 +339,184 @@ func GetNotFoundErrorPage() string {
- {{.Msg}}
+ {{.Msg}}
+ |
+
+
+
+
+ Error code:
+ |
+
+
+
+ {{.Code}}
+ |
+
+
+
+
+
+
+
+
+
+
+
+