Struct HttpRequestTool
pub struct HttpRequestTool { /* private fields */ }Expand description
HTTP request tool for API interactions. Supports GET, POST, PUT, DELETE methods with configurable security.
Implementations§
Source§impl HttpRequestTool
impl HttpRequestTool
pub fn new( security: Arc<SecurityPolicy>, allowed_domains: Vec<String>, max_response_size: usize, timeout_secs: u64, allow_private_hosts: bool, allowed_private_hosts: Vec<String>, ) -> Result<HttpRequestTool, Error>
pub fn new_with_config( security: Arc<SecurityPolicy>, allowed_domains: Vec<String>, max_response_size: usize, timeout_secs: u64, allow_private_hosts: bool, allowed_private_hosts: Vec<String>, config_path: PathBuf, secrets_encrypt: bool, ) -> Result<HttpRequestTool, Error>
Trait Implementations§
Source§impl Attributable for HttpRequestTool
impl Attributable for HttpRequestTool
Source§impl Tool for HttpRequestTool
impl Tool for HttpRequestTool
Source§fn description(&self) -> &str
fn description(&self) -> &str
Human-readable description
Source§fn parameters_schema(&self) -> Value
fn parameters_schema(&self) -> Value
JSON schema for parameters
Source§fn output_schema(&self) -> Option<Value>
fn output_schema(&self) -> Option<Value>
JSON schema describing the structured output this tool attaches to
ToolOutput::data, when it declares one. None means the tool
emits display text only; authoring surfaces fall back to
sample-derived shapes from captured runs.Source§fn execute<'life0, 'async_trait>(
&'life0 self,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<ToolResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
HttpRequestTool: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<ToolResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
HttpRequestTool: 'async_trait,
Execute the tool with given arguments
Source§fn param_domains(&self) -> Vec<(&'static str, OptionDomain)>
fn param_domains(&self) -> Vec<(&'static str, OptionDomain)>
Option domains for parameters whose value sets live in runtime
config rather than the static schema (channel refs, peer targets,
…). Surfaces resolve these through the runtime to render real
selectable choices. Default: no domain-typed parameters.
fn spec(&self) -> ToolSpec
Auto Trait Implementations§
impl Freeze for HttpRequestTool
impl !RefUnwindSafe for HttpRequestTool
impl Send for HttpRequestTool
impl Sync for HttpRequestTool
impl Unpin for HttpRequestTool
impl UnsafeUnpin for HttpRequestTool
impl !UnwindSafe for HttpRequestTool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more