#Region Project Attributes
#MainFormWidth: 600
#MainFormHeight: 600
#End Region
Sub Process_Globals
Dim ws As WebSocketClient
Private fx As JFX
Private MainForm As Form
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
'MainForm.RootPane.LoadLayout("Layout1") 'Load the layout file.
MainForm.Show
Init_Wshttp
End Sub
'Return true to allow the default exceptions handler to handle the uncaught exception.
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
Return True
End Sub
Sub ws_TextMessage (Message As String)
End Sub
Private Sub ws_Connected
Log ("ws closed")
End Sub
Sub ws_Closed (Reason As String)
Log("ws error: " & Reason)
If ws.Connected = True Then ws.close
Sleep(5000)
Init_Wshttp
End Sub
Sub Init_Ws (input As String)
Log (input)
Dim tid As Int = Rnd(0,9)
ws.Initialize("ws")
Dim token As String = input.SubString(input.IndexOf("ConnectionToken")+18)
token = token.SubString2(0,token.IndexOf($"""$)).Replace("/","%2F").Replace("+","%2B").Replace("=","%3D")
Dim connectstring As String = ("wss://www.cryptopia.co.nz/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=" & token & "&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid=" & tid)
Log (connectstring)
ws.Connect(connectstring)
wait for ws_Connected
Log("connected")
End Sub
Sub Init_Wshttp
Dim httpjob As HttpJob
httpjob.Initialize("Wsjob",Me)
Dim connstring As String = ("https://www.cryptopia.co.nz/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&_=" & DateTime.Now)
Log (connstring)
httpjob.Download(connstring)
httpjob.GetRequest.Timeout = 90000
httpjob.GetRequest.SetHeader("Content-Type", "application/json; charset=UTF-8")
httpjob.GetRequest.SetHeader("Referer","https://www.cryptopia.co.nz/Exchange")
httpjob.GetRequest.SetHeader("Accept", "text/plain, */*; q=0.01")
httpjob.GetRequest.SetHeader("Host", "www.cryptopia.co.nz")
httpjob.GetRequest.SetHeader("X-Requested-With", "XMLHttpRequest")
httpjob.GetRequest.SetHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36")
End Sub
Sub jobdone (job As HttpJob)
If job.Success = True Then
Init_Ws(job.getstring)
End If
End Sub