exa_async/resources/
search.rs1use crate::{
2 client::Client,
3 config::Config,
4 error::ExaError,
5 types::search::{SearchRequest, SearchResponse},
6};
7
8pub struct Search<'c, C: Config> {
10 client: &'c Client<C>,
11}
12
13impl<'c, C: Config> Search<'c, C> {
14 #[must_use]
16 pub const fn new(client: &'c Client<C>) -> Self {
17 Self { client }
18 }
19
20 pub async fn create(&self, req: SearchRequest) -> Result<SearchResponse, ExaError> {
26 self.client.post("/search", req).await
27 }
28}
29
30impl<C: Config> crate::Client<C> {
32 #[must_use]
34 pub const fn search(&self) -> Search<'_, C> {
35 Search::new(self)
36 }
37}