commit c40760dcde0b690498d92875f96a5e90a2ead9b2
parent 78790a5d0fd5d272451e6923d76f750c32b6c2f2
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Wed, 22 Jan 2025 11:17:33 +0100
implement proper pms error handling
Diffstat:
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/pkg/rest/taldir.go b/pkg/rest/taldir.go
@@ -475,6 +475,7 @@ func (t *Taldir) registerRequest(w http.ResponseWriter, r *http.Request) {
if nil != err {
errDetail.Code = gana.GENERIC_JSON_INVALID
errDetail.Hint = err.Error()
+ w.Header().Set("Content-Type", "application/json")
resp, _ := json.Marshal(errDetail)
w.WriteHeader(400)
w.Write(resp)
diff --git a/web/templates/lookup_result.html b/web/templates/lookup_result.html
@@ -12,15 +12,13 @@
<body>
{{ template "nav.html" . }}
<div class="container pt-5">
- {{if .error}}
- <div class="container pt-5">
- <div id="ebanner" class="alert alert-danger" role="alert">
+ <div id="ebanner" class="container pt-5" hidden>
+ <div class="alert alert-danger" role="alert">
<h4 class="alert-heading">{{ call .tr "error" }}</h4>
<hr>
- <p class="mb-0">{{.error}}.</p>
+ <p class="mb-0" id="ebanner-text">{{.error}}.</p>
</div>
</div>
- {{end}}
<div id="sbanner" class="container pt-5" hidden>
<div class="alert alert-success" role="alert">
<h4 class="alert-heading">{{ call .tr "validationInitiated" }}</h4>
@@ -51,7 +49,7 @@
</form>
{{else}}
<div class="container pt-5">
- <div id="ebanner" class="alert alert-dark" role="alert">
+ <div class="alert alert-dark" role="alert">
<h4 class="alert-heading">Found!</h4>
<hr>
<p class="mb-0">{{ call .tr "isLinked" .address }}</p>
@@ -95,7 +93,11 @@
var sbanner = document.getElementById('sbanner');
sbanner.hidden = false;
} else {
- window.location.href = "/?error=Registration failed";
+ var jsonResponse = JSON.parse(xhr.responseText);
+ document.getElementById('ebanner-text').innerHTML = jsonResponse.hint;
+ var ebanner = document.getElementById('ebanner');
+ ebanner.hidden = false;
+ // window.location.href = "/?error=Registration failed";
}
}
}
diff --git a/web/templates/nav.html b/web/templates/nav.html
@@ -5,7 +5,7 @@
<div>{{ call .tr "title" }}</div>
</div>
</nav>
-<div id="ebanner" class="alert alert-warning" role="alert">
+<div class="alert alert-warning" role="alert">
<h4 class="alert-heading">{{ call .tr "demoService" }}</h4>
<hr>
<p class="mb-0">