summaryrefslogtreecommitdiff
path: root/makima/src/daemon/api/client.rs
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-20 16:45:34 +0000
committersoryu <soryu@soryu.co>2026-01-20 16:45:34 +0000
commitc6c69af39b29276920b07e0d220f7016335f1019 (patch)
tree13a4b58b00f67076b532933b9f8f208122d54bf9 /makima/src/daemon/api/client.rs
parent36233b7cb834223878aa075bb379846eb6d7bb05 (diff)
parenta3ecb076a4f83f9c33fc3e4ad64af72c81b3ffd0 (diff)
downloadsoryu-c6c69af39b29276920b07e0d220f7016335f1019.tar.gz
soryu-c6c69af39b29276920b07e0d220f7016335f1019.zip
Merge lifecycle improvementsmakima/contract-lifecycle-cleanup
Resolved conflict in supervisor.rs by keeping both: - supervisor_complete and supervisor_resume_contract methods (lifecycle management) - delete_task and update_task methods (task management) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/src/daemon/api/client.rs')
-rw-r--r--makima/src/daemon/api/client.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/makima/src/daemon/api/client.rs b/makima/src/daemon/api/client.rs
index 2318d5a..ca1b2a8 100644
--- a/makima/src/daemon/api/client.rs
+++ b/makima/src/daemon/api/client.rs
@@ -105,6 +105,28 @@ impl ApiClient {
self.handle_response(response).await
}
+ /// Make a DELETE request.
+ pub async fn delete(&self, path: &str) -> Result<(), ApiError> {
+ let url = format!("{}{}", self.base_url, path);
+ let response = self.client
+ .delete(&url)
+ .header("X-Makima-Tool-Key", &self.api_key)
+ .header("X-Makima-API-Key", &self.api_key)
+ .send()
+ .await?;
+
+ let status = response.status();
+ if !status.is_success() {
+ let body = response.text().await.unwrap_or_default();
+ return Err(ApiError::Api {
+ status: status.as_u16(),
+ message: body,
+ });
+ }
+
+ Ok(())
+ }
+
/// Handle API response.
async fn handle_response<T: DeserializeOwned>(
&self,