async_anthropic/
messages.rs1use crate::{
2 errors::CreateMessagesError,
3 types::{CreateMessagesRequest, CreateMessagesResponse},
4 Client,
5};
6
7pub const DEFAULT_MAX_TOKENS: i32 = 2048;
8
9#[derive(Debug, Clone)]
10pub struct Messages<'c> {
11 client: &'c Client,
12}
13
14impl Messages<'_> {
15 pub fn new(client: &Client) -> Messages {
16 Messages { client }
17 }
18
19 #[tracing::instrument(skip_all)]
20 pub async fn create(
21 &self,
22 request: impl Into<CreateMessagesRequest>,
23 ) -> Result<CreateMessagesResponse, CreateMessagesError> {
24 self.client
27 .post("/v1/messages", request.into())
28 .await
29 .map_err(CreateMessagesError::AnthropicError)
30 }
31}