pub struct HttpFetchSkill { /* private fields */ }Expand description
HTTP fetch skill. Makes GET/POST requests to allowed hosts with production-grade SSRF protection:
- DNS resolution before the request, with IP-range validation
- Proper CIDR-based private/reserved range detection (no string-prefix hacks)
- Custom redirect policy that re-validates every redirect target
- Hostname blocklist for cloud metadata endpoints
Implementations§
Trait Implementations§
Source§impl Default for HttpFetchSkill
impl Default for HttpFetchSkill
Source§impl Skill for HttpFetchSkill
impl Skill for HttpFetchSkill
Source§fn descriptor(&self) -> &SkillDescriptor
fn descriptor(&self) -> &SkillDescriptor
Return the skill’s metadata descriptor.
Source§fn validate_arguments(
&self,
call: &ToolCall,
permissions: &PermissionSet,
) -> ArgentorResult<()>
fn validate_arguments( &self, call: &ToolCall, permissions: &PermissionSet, ) -> ArgentorResult<()>
Validate that the specific arguments in this tool call are permitted
by the given permission set. Override for skills that need argument-level checks.
Default: always returns Ok(()) (no argument-level validation).
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
call: ToolCall,
) -> Pin<Box<dyn Future<Output = ArgentorResult<ToolResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
call: ToolCall,
) -> Pin<Box<dyn Future<Output = ArgentorResult<ToolResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute the skill with the given tool call.
Auto Trait Implementations§
impl Freeze for HttpFetchSkill
impl !RefUnwindSafe for HttpFetchSkill
impl Send for HttpFetchSkill
impl Sync for HttpFetchSkill
impl Unpin for HttpFetchSkill
impl UnsafeUnpin for HttpFetchSkill
impl !UnwindSafe for HttpFetchSkill
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
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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