Skip to content

Instantly share code, notes, and snippets.

@Clivern
Created October 2, 2023 20:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Clivern/f72a3fe35f426fb6ce95c055329493bd to your computer and use it in GitHub Desktop.
Save Clivern/f72a3fe35f426fb6ce95c055329493bd to your computer and use it in GitHub Desktop.
Live status
import socket
import os
import json
try:
os.remove("/tmp/livestatus.sock")
except OSError:
pass
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.bind("/tmp/livestatus.sock")
s.listen()
while True:
conn, addr = s.accept()
request = conn.recv(1024)
print("Incoming Request: {}".format(request.decode()))
if request.decode() == "GET /hosts":
response = json.dumps({
"hosts": [
{"id": 1, "name": "ams1.dy"},
{"id": 2, "name": "ams1.dp"}
]
})
conn.sendall(response.encode())
conn.close()
else:
response = json.dumps({
"errorMessage": "Invalid request!"
})
conn.sendall(response.encode())
conn.close()
@Clivern
Copy link
Author

Clivern commented Oct 2, 2023

client.py

import socket
import time

s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)

while True:
    s.connect("/tmp/livestatus.sock")

    request = "GET /hosts"
    s.sendall(request.encode())

    response = s.recv(1024)

    print(response.decode())

    s.close()

    time.sleep(5)

    s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment