=head1 NAME
WWW::Webrobot::pod::Recur - Interface for traversing a site / generating multiple urls
=head1 SYNOPSIS
Usage in a test plan:
For writing your own class please study the source of
L or L.
=head1 DESCRIPTION
This interface allows you to visit new urls
starting from an url given in a testplan.
=head1 METHODS
If you want to write a recursion class you must implement
the following methods:
=over
=item $obj -> next ($url)
Synopsis:
($newurl, $caller_pages) = $recurse -> next($r);
C<$newurl> is the next url to visit and
C<$caller_pages> is a list of values.
This list should indicate where C<$newurl> has been found.
If you want to stop traversing than return
C<(undef, undef)>.
=item $obj -> allowed ($url)
It takes a string url as argument and must return B<1>
if this url is allowed and B<0> if it is not allowed.
If you wonder why this method is needed - here is an explanation:
Returning allowed URLs by C is not sufficient
because URLs may be redirected via 3xx codes.
This redirection is done automatically by L
via L and must therefore be savely excluded in
L.
That's where the C method is used.
=back
=head1 IMPLEMENTING CLASSES
=over
=item L
Follow all frames and images.
=item L
Follow all frames, images and links you can get.
=item L B<[EXPERIMENTAL]>
Follow links randomly.
=back
=head1 SEE ALSO
L
=head1 AUTHOR
Stefan Trcek
=head1 COPYRIGHT
Copyright(c) 2004 ABAS Software AG
This software is licensed under the perl license, see LICENSE file.
=cut
1;