pub struct CrawlerVerificationResult {Show 13 fields
pub is_crawler: bool,
pub crawler_name: Option<String>,
pub verified: bool,
pub verification_method: VerificationMethod,
pub user_agent_match: bool,
pub reverse_dns_match: bool,
pub ip_range_match: bool,
pub suspicious: bool,
pub suspicion_reasons: Vec<Cow<'static, str>>,
pub bad_bot_match: Option<String>,
pub bad_bot_severity: Option<BadBotSeverity>,
pub input_rejected: bool,
pub dns_failure_penalty: u32,
}Expand description
Result of crawler verification.
Fields§
§is_crawler: boolIs this a known crawler
crawler_name: Option<String>Crawler name if matched
verified: boolWas the crawler verified
verification_method: VerificationMethodHow was it verified
user_agent_match: boolDid the user agent match a crawler pattern
reverse_dns_match: boolDid the reverse DNS match
ip_range_match: boolDid the IP range match (if applicable)
suspicious: boolIs this request suspicious (e.g., UA spoofing)
suspicion_reasons: Vec<Cow<'static, str>>Reasons for suspicion (uses Cow for zero-copy known messages)
bad_bot_match: Option<String>Bad bot match if any
bad_bot_severity: Option<BadBotSeverity>Bad bot severity if matched
input_rejected: boolWhether input was rejected due to length limits
dns_failure_penalty: u32Risk penalty applied due to DNS failure policy
Trait Implementations§
Source§impl Clone for CrawlerVerificationResult
impl Clone for CrawlerVerificationResult
Source§fn clone(&self) -> CrawlerVerificationResult
fn clone(&self) -> CrawlerVerificationResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CrawlerVerificationResult
impl Debug for CrawlerVerificationResult
Source§impl Default for CrawlerVerificationResult
impl Default for CrawlerVerificationResult
Source§impl<'de> Deserialize<'de> for CrawlerVerificationResult
impl<'de> Deserialize<'de> for CrawlerVerificationResult
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CrawlerVerificationResult
impl RefUnwindSafe for CrawlerVerificationResult
impl Send for CrawlerVerificationResult
impl Sync for CrawlerVerificationResult
impl Unpin for CrawlerVerificationResult
impl UnsafeUnpin for CrawlerVerificationResult
impl UnwindSafe for CrawlerVerificationResult
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§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