2 import QtQuick.Window 2.0
3 import QtQuick.Controls 1.4
4 import QtWebSockets 1.0
8 property string address_str: "ws://localhost:1234/api?token=123456"
9 property string token_str: ""
10 property string api_str: "auth"
11 property string verb_str: ""
12 property var msgid_enu: { "call":2, "retok":3, "reterr":4, "event":5 }
13 property string request_str: ""
14 property string status_str: ""
23 onTextMessageReceived: {
24 var message_json = JSON.parse (message);
25 console.log ("Raw response: " + message)
26 console.log ("JSON response: " + message_json)
27 /* server is not happy with our request, ignore it */
28 if (message_json[0] != msgid_enu.retok) {
29 console.log ("Return value is not ok !")
32 /* token creation or refresh happened, store it and enable buttons */
33 if ((verb_str == "create") || (verb_str == "refresh")) {
34 token_str = message_json[3]
35 refresh_button.enabled = true
36 reset_button.enabled = true
37 /* token reset happened, remove it and disable buttons */
38 } else if (verb_str == "reset") {
40 refresh_button.enabled = false
41 reset_button.enabled = false
42 websocket.active = false // close the socket
46 if (websocket.status == WebSocket.Error) {
47 status_str = "Error: " + websocket.errorString
48 } else if (websocket.status == WebSocket.Open) {
49 status_str = "Socket opened; sending message..."
50 if (verb_str == "create")
51 websocket.sendTextMessage (request_str)
52 } else if (websocket.status == WebSocket.Closed) {
53 status_str = "Socket closed"
55 console.log (status_str)
61 anchors.left: parent.left
62 anchors.top: parent.top
63 anchors.horizontalCenter: parent.horizontalCenter
67 text: "QML Websocket AFB Sample"
70 anchors.centerIn: parent
76 text: "URL: " + websocket.url
81 text: "Verb: " + verb_str
86 text: "Token: " + token_str
95 request_str = '[' + msgid_enu.call + ',"99999","' + api_str+'/'+verb_str + '", ]';
96 if (!websocket.active)
97 websocket.active = true
99 websocket.sendTextMessage (request_str)
105 text: "Refresh token"
108 request_str = '[' + msgid_enu.call + ',"99999","' + api_str+'/'+verb_str + '",,"' + token_str +'" ]';
109 websocket.sendTextMessage (request_str)
119 request_str = '[' + msgid_enu.call + ',"99999","' + api_str+'/'+verb_str + '", ]';
120 websocket.sendTextMessage (request_str)
128 text: "Request: " + request_str
134 text: "Status: " + status_str