commit a132525a2b73f6f23b2fe6d4105aead6b23c7ad1
parent da544794b7726bd6eeb5e83f7bc5465e507aa492
Author: ThomasV <thomasv@electrum.org>
Date: Wed, 21 Sep 2016 14:48:05 +0200
Merge pull request #1935 from ser/add-ws-host-port
Adding possibility of websockets configuration
Diffstat:
2 files changed, 21 insertions(+), 14 deletions(-)
diff --git a/lib/wallet.py b/lib/wallet.py
@@ -1052,6 +1052,8 @@ class Abstract_Wallet(PrintError):
out['request_url'] = os.path.join(baseurl, key)
out['URI'] += '&r=' + out['request_url']
out['index_url'] = os.path.join(baseurl, 'index.html') + '?id=' + key
+ out['websocket_server'] = config.get('websocket_server', 'localhost')
+ out['websocket_port'] = config.get('websocket_port', 9999)
return out
def get_request_status(self, key):
diff --git a/lib/www/index.html b/lib/www/index.html
@@ -34,11 +34,13 @@ if (id) {
$("<p />").text(data.amount/100000000 + "BTC").appendTo($("p#amount"));
$("a").attr("href", data.URI);
$("<p />").text("Powered by Electrum").appendTo($("p#powered"));
+ var websocket_server = data.websocket_server;
+ var websocket_port = data.websocket_port;
$(function () {
var current;
var max = 100;
var initial = data.time;
- var duration = data.exp;
+ var duration = data.exp;
if(duration){
var current = 100 * (Math.floor(Date.now()/1000) - initial)/duration;
$("#progressbar").progressbar({
@@ -57,6 +59,22 @@ if (id) {
var interval = setInterval(update, 1000);
}
});
+
+ var wss_address = "wss://" + websocket_server + ":" + websocket_port +"/");
+ console.log("Opening WSS: " + wss_address)
+ var ws = new WebSocket(wss_address);
+
+ ws.onopen = function() {
+ ws.send('id:' + id);
+ };
+ ws.onmessage = function (evt) {
+ var received_msg = evt.data;
+ if(received_msg == 'paid'){
+ $("#container").html("This invoice has been paid.");
+ }
+ else alert("Message is received:"+ received_msg);
+ };
+
})
.fail(function() {
console.log("error fail");
@@ -64,19 +82,6 @@ if (id) {
});
};
-var ws = new WebSocket("wss://" + window.location.hostname + ":9999/");
-ws.onopen = function() {
- ws.send('id:' + id);
-};
-ws.onmessage = function (evt) {
- var received_msg = evt.data;
- if(received_msg == 'paid'){
- $("#container").html("This invoice has been paid.");
- }
- else alert("Message is received:"+ received_msg);
-};
-
-
// See http://stackoverflow.com/questions/29186154/chrome-clicking-mailto-links-closes-websocket-connection
$(document).on('click', 'a[href^="bitcoin:"]', function (e) {
e.preventDefault();