opencode_sdk/http/
find.rs1use crate::error::Result;
6use crate::http::HttpClient;
7use crate::types::api::FindResponse;
8use reqwest::Method;
9
10#[derive(Clone)]
12pub struct FindApi {
13 http: HttpClient,
14}
15
16impl FindApi {
17 pub fn new(http: HttpClient) -> Self {
19 Self { http }
20 }
21
22 pub async fn text(&self, pattern: &str) -> Result<FindResponse> {
28 let encoded = urlencoding::encode(pattern);
29 self.http
30 .request_json(Method::GET, &format!("/find?pattern={}", encoded), None)
31 .await
32 }
33
34 pub async fn files(&self, query: &str) -> Result<FindResponse> {
40 let encoded = urlencoding::encode(query);
41 self.http
42 .request_json(Method::GET, &format!("/find/file?query={}", encoded), None)
43 .await
44 }
45
46 pub async fn symbols(&self, query: &str) -> Result<FindResponse> {
52 let encoded = urlencoding::encode(query);
53 self.http
54 .request_json(
55 Method::GET,
56 &format!("/find/symbol?query={}", encoded),
57 None,
58 )
59 .await
60 }
61}