from dataclasses import asdict import requests as requests from Code.Communication.Direction import Direction from Code.Communication.Member import Member class APIRequests: def connectToMember(self, own_process: Member, ip, port, direction: Direction) -> Member: body = asdict(own_process) response = requests.post(f"http://{ip}:{port}/connect/{direction.name}", json=body) jsonValue = response.json() return Member(jsonValue["ip"], jsonValue["port"]) def get_edge(self, target: Member, direction: Direction): response = requests.get(f"http://{target.ip}:{target.port}/border/{direction.name}") return response.json()