udemy-go-microservices/front-end/cmd/web/templates/test.page.gohtml
2024-08-28 09:49:39 +02:00

62 lines
2.2 KiB
Plaintext

{{template "base" .}}
{{define "content" }}
<div class="container">
<div class="row">
<div class="col">
<h1 class="mt-5">Test microservices</h1>
<hr>
<a id="brokerBtn" class="btn btn-outline-secondary" href="javascript:void(0);">Test Broker</a>
<div id="output" class="mt-5" style="outline: 1px solid silver; padding: 2em;">
<span class="text-muted">Output shows here...</span>
</div>
</div>
</div>
<div class="row">
<div class="col">
<h4 class="mt-5">Sent</h4>
<div class="mt-1" style="outline: 1px solid silver; padding: 2em;">
<pre id="payload"><span class="text-muted">Nothing sent yet...</span></pre>
</div>
</div>
<div class="col">
<h4 class="mt-5">Received</h4>
<div class="mt-1" style="outline: 1px solid silver; padding: 2em;">
<pre id="received"><span class="text-muted">Nothing received yet...</span></pre>
</div>
</div>
</div>
</div>
{{end}}
{{define "js"}}
<script>
let brokerBtn = document.getElementById("brokerBtn");
let output = document.getElementById("output");
let sent = document.getElementById("payload");
let received = document.getElementById("received");
brokerBtn.addEventListener("click", () => {
const body = {
method: 'POST',
}
fetch("http:\/\/localhost:8080", body)
.then((response) => response.json())
.then((data) => {
sent.innerHTML = 'empty post request';
received.innerHTML = JSON.stringify(data, undefined, 4);
if (data.error) {
console.log(data.message);
} else {
output.innerHTML += `<br><strong>Response from broker service</strong>: ${data.message}`;
}
})
.catch((error) => {
output.innerHTML += "<br><br>Error: " + error;
});
});
</script>
{{end}}