Manage not existen or inactive relay

This commit is contained in:
Daniele Tonon
2023-11-16 15:04:44 +01:00
parent 2814460acc
commit 9f6726023c
2 changed files with 15 additions and 1 deletions

View File

@@ -424,6 +424,9 @@ type ErrorPage struct {
} }
func (e *ErrorPage) TemplateText() string { func (e *ErrorPage) TemplateText() string {
if e.Message != "" {
return tmplError
}
e.Message = "I cannot give any suggestions to solve the problem, maybe the best solution is to pubblicy blame the devs on Nostr" e.Message = "I cannot give any suggestions to solve the problem, maybe the best solution is to pubblicy blame the devs on Nostr"
if strings.Contains(e.Errors, "invalid checksum") { if strings.Contains(e.Errors, "invalid checksum") {
e.Message = "It seems you entered an invalid event code, try to check if it is correct; a good idea is compare the first and the last characters" e.Message = "It seems you entered an invalid event code, try to check if it is correct; a good idea is compare the first and the last characters"

View File

@@ -25,7 +25,18 @@ func renderRelayPage(w http.ResponseWriter, r *http.Request) {
} }
// relay metadata // relay metadata
info, _ := nip11.Fetch(r.Context(), hostname) info, err := nip11.Fetch(r.Context(), hostname)
if err != nil {
w.Header().Set("Cache-Control", "max-age=60")
errorPage := &ErrorPage{
Message: "The relay you are looking for does not exist or is offline; check the name in the url or try later",
Errors: err.Error(),
}
errorPage.TemplateText()
w.WriteHeader(http.StatusNotFound)
ErrorTemplate.Render(w, errorPage)
return
}
if info == nil { if info == nil {
info = &nip11.RelayInformationDocument{ info = &nip11.RelayInformationDocument{
Name: hostname, Name: hostname,