debug: notifications

This commit is contained in:
tecnovert 2022-09-28 21:19:53 +02:00
parent ef0f5ea1ea
commit 63a8b95893
3 changed files with 53 additions and 24 deletions

View file

@ -47,6 +47,7 @@ from .js_server import (
js_rates,
js_rate,
js_index,
js_generatenotification,
)
from .ui.util import (
PAGE_LIMIT,
@ -680,6 +681,7 @@ class HttpHandler(BaseHTTPRequestHandler):
'rate': js_rate,
'rates': js_rates,
'rateslist': js_rates_list,
'generatenotification': js_generatenotification,
}.get(url_split[2], js_index)
return func(self, url_split, post_string, is_json)
except Exception as ex:

View file

@ -5,6 +5,7 @@
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.
import json
import random
import urllib.parse
from .util import (
@ -13,6 +14,7 @@ from .util import (
from .basicswap_util import (
strBidState,
SwapTypes,
NotificationTypes as NT,
)
from .chainparams import (
Coins,
@ -389,3 +391,18 @@ def js_rate(self, url_split, post_string, is_json):
def js_index(self, url_split, post_string, is_json):
return bytes(json.dumps(self.server.swap_client.getSummary()), 'UTF-8')
def js_generatenotification(self, url_split, post_string, is_json):
swap_client = self.server.swap_client
r = random.randint(0, 3)
if r == 0:
swap_client.notify(NT.OFFER_RECEIVED, {'offer_id': random.randbytes(28).hex()})
elif r == 1:
swap_client.notify(NT.BID_RECEIVED, {'type': 'atomic', 'bid_id': random.randbytes(28).hex(), 'offer_id': random.randbytes(28).hex()})
elif r == 2:
swap_client.notify(NT.BID_ACCEPTED, {'bid_id': random.randbytes(28).hex()})
elif r == 3:
swap_client.notify(NT.BID_RECEIVED, {'type': 'xmr', 'bid_id': random.randbytes(28).hex(), 'offer_id': random.randbytes(28).hex()})
return bytes(json.dumps({'type': r}), 'UTF-8')

View file

@ -19,15 +19,16 @@
{% if debug_ui_mode == true %}
<p>Debug UI mode: Active</p>
{% endif %}
<button id="test_btn" type="button">Add Notification</button>
{% if ws_url %}
<script>
var ws = new WebSocket("{{ ws_url }}"),
var ws = new WebSocket("{{ ws_url }}"),
floating_div = document.createElement('div');
floating_div.classList.add('floatright');
messages = document.createElement('ul');
messages.setAttribute('id', 'ul_updates');
ws.onmessage = function (event) {
ws.onmessage = function (event) {
let json = JSON.parse(event.data);
let event_message = 'Unknown event';
@ -45,8 +46,17 @@
message = document.createElement('li');
message.innerHTML = event_message;
messages.appendChild(message);
};
floating_div.appendChild(messages);
document.body.appendChild(floating_div);
};
floating_div.appendChild(messages);
document.body.appendChild(floating_div);
const xhr_notification_debug = new XMLHttpRequest();
function test_notification() {
console.log('1');
xhr_notification_debug.open('GET', '/json/generatenotification');
xhr_notification_debug.send();
console.log('2');
}
document.getElementById("test_btn").addEventListener("click", test_notification);
</script>
{% endif %}