Files
spark/testing/api-sample-scripts/subscribe_securities.py

47 lines
1.2 KiB
Python

import json
import websocket
json_payload = {
"jsonrpc": 2,
"method": "subscribe",
"params": {
"subscription_id": 1,
"type": "securities",
"filter": {
"symbol": [
"ETH"
],
"expiration": [
"2023/04/28"
],
"venue": [
"deribit"
]
}
},
"id": 1
}
json_string = json.dumps(json_payload)
ws_url = "ws://localhost:8080"
message_count = [0]
# Define a callback function to handle received messages
def on_message(ws, message):
print("Received message: ", message)
if(message_count[0]>0):
ws.close()
message_count[0]+=1
# Define a callback function to handle the WebSocket connection opening
def on_open(ws):
print("WebSocket connection opened")
ws.send(json_string)
# Define a callback function to handle the WebSocket connection closing
def on_close(ws):
print("WebSocket connection closed")
# Create a WebSocket connection and send the JSON payload
ws = websocket.WebSocketApp(ws_url, on_message=on_message, on_open=on_open, on_close=on_close)
# Start the WebSocket connection and listen for incoming messages
ws.run_forever()
input("press any key to continue")