diff --git a/addons/sammi/lib/sammi_api.gd b/addons/sammi/lib/sammi_api.gd index 340db5c..dbd35c6 100644 --- a/addons/sammi/lib/sammi_api.gd +++ b/addons/sammi/lib/sammi_api.gd @@ -74,16 +74,13 @@ func set_variable(name: String, value: Variant, button_id: String = "") -> bool: last_error_description = response.error_message return false -func delete_variable(name: String, button_id: String = "") -> bool: - var api_path: String = "/api" +func delete_variable(name: String, button_id) -> bool: + var api_path: String = "/api" % name var req: Dictionary = { "request": "deleteVariable", - "name": name + "name": name, + "buttonID": button_id } - - if button_id != "": - req["buttonID"] = button_id - client.request(SammiClient.Method.POST, api_path, JSON.stringify(req)) var response: SammiClient.SammiResponse = await client.request_completed if response.code == 200: diff --git a/addons/sammi/lib/sammi_client.gd b/addons/sammi/lib/sammi_client.gd index db23a3a..ac40636 100644 --- a/addons/sammi/lib/sammi_client.gd +++ b/addons/sammi/lib/sammi_client.gd @@ -43,7 +43,6 @@ func request(method: Method, api_path: String, body: String) -> void: self.query = api_path self.body = body - self.method = method self.client = StreamPeerTCP.new() self.client.connect_to_host(host, port) self.state = State.CONNECTING @@ -52,6 +51,11 @@ func _process(_delta: float) -> void: if not client: return + if state == State.CLOSED: + client.disconnect_from_host() + client = null + return + client.poll() if client.get_status() == StreamPeerTCP.Status.STATUS_CONNECTED and state == State.CONNECTING: state = State.REQUESTING @@ -126,12 +130,8 @@ func _read_response() -> void: buffer.append_array(chunk[1]) else: response = SammiResponse.new(headers, buffer, query) - state = State.CLOSED - headers = [] - buffer = [] - client.disconnect_from_host() - client = null request_completed.emit(response) + state = State.CLOSED class SammiResponse: