Struct RobotsTxt
pub struct RobotsTxt {
pub groups: Vec<RobotsGroup>,
pub sitemaps: Vec<String>,
}Expand description
A typed robots.txt payload that can be parsed, inspected, serialized, and returned as a response.
Fields§
§groups: Vec<RobotsGroup>§sitemaps: Vec<String>Implementations§
§impl RobotsTxt
impl RobotsTxt
pub fn parse(input: &str) -> RobotsTxt
pub fn parse(input: &str) -> RobotsTxt
Parse a robots.txt payload, ignoring malformed or invalid directives.
pub fn parse_strict(input: &str) -> Result<RobotsTxt, RobotsDirectiveParseError>
pub fn parse_strict(input: &str) -> Result<RobotsTxt, RobotsDirectiveParseError>
Parse a robots.txt payload strictly.
Unlike Self::parse, this returns an error when a supported directive
is malformed or has an invalid value.
pub fn with_group(self, group: RobotsGroup) -> RobotsTxt
pub fn with_group(self, group: RobotsGroup) -> RobotsTxt
Add a group to this robots.txt document.
pub fn set_group(&mut self, group: RobotsGroup) -> &mut RobotsTxt
pub fn set_group(&mut self, group: RobotsGroup) -> &mut RobotsTxt
Add a group to this robots.txt document.
pub fn with_sitemap(self, sitemap: impl Into<String>) -> RobotsTxt
pub fn with_sitemap(self, sitemap: impl Into<String>) -> RobotsTxt
Add a sitemap entry to this robots.txt document.
pub fn set_sitemap(&mut self, sitemap: impl Into<String>) -> &mut RobotsTxt
pub fn set_sitemap(&mut self, sitemap: impl Into<String>) -> &mut RobotsTxt
Add a sitemap entry to this robots.txt document.
pub fn rules_for(&self, user_agent: &str) -> RobotsClientRules<'_>
pub fn rules_for(&self, user_agent: &str) -> RobotsClientRules<'_>
Resolve the effective rules for the given user-agent.
pub fn is_url_allowed(&self, user_agent: &str, uri: &Uri) -> bool
pub fn is_url_allowed(&self, user_agent: &str, uri: &Uri) -> bool
Returns true if the given URL is allowed for the user-agent.
Trait Implementations§
§impl IntoResponse for RobotsTxt
impl IntoResponse for RobotsTxt
§fn into_response(self) -> Response
fn into_response(self) -> Response
Create a response.
impl Eq for RobotsTxt
impl StructuralPartialEq for RobotsTxt
Auto Trait Implementations§
impl Freeze for RobotsTxt
impl RefUnwindSafe for RobotsTxt
impl Send for RobotsTxt
impl Sync for RobotsTxt
impl Unpin for RobotsTxt
impl UnsafeUnpin for RobotsTxt
impl UnwindSafe for RobotsTxt
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§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§impl<R> IntoEndpointService<()> for R
impl<R> IntoEndpointService<()> for R
type Service = StaticService<R>
§fn into_endpoint_service(self) -> <R as IntoEndpointService<()>>::Service
fn into_endpoint_service(self) -> <R as IntoEndpointService<()>>::Service
convert the type into a
rama_core::Service.§impl<R, State> IntoEndpointServiceWithState<(), State> for R
impl<R, State> IntoEndpointServiceWithState<(), State> for R
type Service = StaticService<R>
§fn into_endpoint_service_with_state(
self,
_state: State,
) -> <R as IntoEndpointServiceWithState<(), State>>::Service
fn into_endpoint_service_with_state( self, _state: State, ) -> <R as IntoEndpointServiceWithState<(), State>>::Service
convert the type into a
rama_core::Service with state.§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.