Net::LD...l::Paged(3)
okay bestie, welcome to the Net::LD...l::Paged(3) page from the User Contributed Perl Documentation β¨ this one is lowkey iconic because itβs all about paged LDAP results, and yes weβre gonna get into every detail. no skips. periodt. π
β¨ NAME β¨
Net::LDAP::Control::Paged β LDAPv3 Paged results control object π
π SYNOPSIS π
okay so hereβs the whole vibe in code, bestie β copy it exactly, donβt freestyle the syntax:
use Net::LDAP;
use Net::LDAP::Control::Paged;
use Net::LDAP::Constant qw( LDAP_CONTROL_PAGED );
$ldap = Net::LDAP->new( "ldap.mydomain.eg" );
$page = Net::LDAP::Control::Paged->new( size => 100 );
@args = ( base => "cn=subnets,cn=sites,cn=configuration,$BASE_DN",
scope => "subtree",
filter => "(objectClass=subnet)",
callback => \&process_entry, # Call this sub for each entry
control => [ $page ],
);
my $cookie;
while (1) {
# Perform search
my $mesg = $ldap->search( @args );
# Only continue on LDAP_SUCCESS
$mesg->code and last;
# Get cookie from paged control
my($resp) = $mesg->control( LDAP_CONTROL_PAGED ) or last;
$cookie = $resp->cookie;
# Only continue if cookie is nonempty (= we're not done)
last if (!defined($cookie) || !length($cookie));
# Set cookie in paged control
$page->cookie($cookie);
}
if (defined($cookie) && length($cookie)) {
# We had an abnormal exit, so let the server know we do not want any more
$page->cookie($cookie);
$page->size(0);
$ldap->search( @args );
}
π DESCRIPTION π
Net::LDAP::Control::Paged provides an interface for the creation and manipulation of objects that represent the pagedResultsControl as described by RFC 2696. literally the paged-results control object of the moment. π
The control is allowed on LDAP search requests (search in Net::LDAP) only. On other operations it will β depending on the value of the parameter critical β either be ignored or lead to errors. so yeah, search-only, bestie, donβt try to make it do extra side quests. no cap. π«Ά
π CONSTRUCTOR ARGUMENTS π
In addition to the constructor arguments described in Net::LDAP::Control, the following are provided. yes queen, these two:
cookieβ The value to use as the cookie. This is not normally set when an object is created, but is set from the cookie value returned by the server. This associates a search with a previous search, so the server knows to return the page of entries following the entries it returned the previous time. itβs giving βremember where we left offβ energy. πͺsizeβ The page size that is required. This is the maximum number of entries that the server will return to the search request. literally the page-size limit, bestie. π
π¦ METHODS π¦
As with Net::LDAP::Control, each constructor argument described above is also available as a method on the object which will return the current value for the attribute if called without an argument, and set a new value for the attribute if called with an argument. so cookie and size both have main character energy as methods too. call with no arg = get; call with an arg = set. slay. π
π SEE ALSO π
Net::LDAPNet::LDAP::Controlhttp://www.ietf.org/rfc/rfc2696.txt
π AUTHOR π
Graham Barr <gbarr@pobox.com>
Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap@perl.org> π«Ά
πΈ COPYRIGHT πΈ
Copyright (c) 2000-2004 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. π
xoxo bestie β this was perl v5.42.0 on 2024-01-02, from Net::LD...l::Paged(3). π
β¨
π¦ where this page comes from
- opensuse-leap 16.0: perl-ldap 0.68-160000.2.2 Β· Artistic-1.0 OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms