@@ -148,6 +148,19 @@ struct StackTraceResponseBody {
148 stack_frames: Vec<StackFrame>,
148 stack_frames: Vec<StackFrame>,
151+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
152+#[serde(rename_all = "camelCase")]
158+#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
159+#[serde(rename_all = "camelCase")]
160+struct ThreadsResponseBody {
161+ threads: Vec<Thread>,
151#[derive(Debug)]
164#[derive(Debug)]
152pub struct Client {
165pub struct Client {
153 id: usize,
166 id: usize,
@@ -349,4 +362,12 @@ impl Client {
350 Ok((body.stack_frames, body.total_frames))
363 Ok((body.stack_frames, body.total_frames))
366+ pub async fn threads(&mut self) -> Result<Vec<Thread>> {
367+ let response = self.request("threads".to_owned(), None).await?;
369+ let body: ThreadsResponseBody = from_value(response.body.unwrap()).unwrap();