Skip to main content

synwire_agent/middleware/
http.rs

1//! HTTP middleware — exposes web request operations as agent tools.
2
3use synwire_core::agents::middleware::Middleware;
4use synwire_core::tools::Tool;
5
6/// Middleware that exposes HTTP request tools to the agent.
7#[derive(Debug, Default)]
8pub struct HttpMiddleware;
9
10impl Middleware for HttpMiddleware {
11    fn name(&self) -> &'static str {
12        "http"
13    }
14
15    fn tools(&self) -> Vec<Box<dyn Tool>> {
16        Vec::new()
17    }
18
19    fn system_prompt_additions(&self) -> Vec<String> {
20        vec![
21            "You have access to HTTP tools: http_get, http_post, http_put, http_delete."
22                .to_string(),
23        ]
24    }
25}