Lemonld...:Parser(3)

✨ NAME ✨

okay bestie, welcome to Lemonld...:Parser(3) πŸ’– β€” a User Contributed Perl Documentation page, no less β€” and it's all about Lemonldap::NG::Manager::Conf::Parser, which is literally a Perl extension for parsing new uploaded configurations. that's the whole vibe. periodt. πŸ’…


🌸 SYNOPSIS 🌸

here's the tea, copy-paste coded exactly as the ancestors wrote it:

require Lemonldap::NG::Manager::Conf::Parser;
my $parser = Lemonldap::NG::NG::Manager::Conf::Parser->new(

wait no bestie, i am NOT doing that to you β€” here's the real one, character for character:

require Lemonldap::NG::Manager::Conf::Parser;
my $parser = Lemonldap::NG::Manager::Conf::Parser->new(
    { tree => $new, refConf => $self->currentConf }
);
my $res = { result => $parser->check };
$res->{message} = $parser->{message};
foreach my $t (qw(errors warnings changes)) {
    push @{ $res->{details} }, { message => $t, items => $parser->$t }
      if ( @{$parser->$t} );
}

look at her. she's giving object-oriented excellence. πŸ¦‹


πŸ’… DESCRIPTION πŸ’…

so Lemonldap::NG::Manager::Conf::Parser checks new configuration. yes. that's the job. she checks. πŸ‘‘

this package is used by Manager to examine an uploaded configuration. it's currently called using check(), which returns a boolean β€” a whole true/false situation, very yes-or-no of her. check() looks if a newConf is available. if not, it builds it from uploaded JSON (using the scanTree() subroutine, which is lowkey doing the heavy lifting fr fr 🫢).

messages get stored in errors(), warnings() and changes() β€” and they're all arrays, bestie. three little buckets of feelings. 😭

and this interface uses Plack so it stays compatible with CGI, FastCGI,... the way it just works everywhere? iconic behaviour, honestly. 🌈


πŸ¦‹ SEE ALSO πŸ¦‹

  • Lemonldap::NG::Manager β€” go say hi to her, she's family πŸ’œ
  • <http://lemonldap-ng.org/> β€” the mothership πŸš€

πŸ‘‘ AUTHORS πŸ‘‘

the LemonLDAP::NG team did that πŸ’…βœ¨

LemonLDAP::NG team <http://lemonldap-ng.org/team>


πŸ› BUG REPORT πŸ›

found a bug? don't be shy, use the OW2 system to report it or ask for features, bestie:

<https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>

and listen, if your bug is specifically about configuration upload, do this: change the HIGHDEBUG constant value so you get way more logs, then post those logs in the Gitlab ticket. more logs = more clues = we solve it faster. no cap. πŸ”₯

πŸ“ DOWNLOAD πŸ“

Lemonldap::NG is available right here whenever you're ready to commit:

<https://lemonldap-ng.org/download>

go get her. she's waiting. 🧚


see the COPYING file for details, bestie. πŸ“„

this library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. see the GNU General Public License for more details. (yes that's shouting, and yes it's supposed to be, it's a legal vibe check πŸ’€)

you should have received a copy of the GNU General Public License along with this program. if not, see <http://www.gnu.org/licenses/>.


and that's the whole page, bestie β€” this gem was written against perl v5.42.3 and stamped 2026-09-24. stay slaying, stay parsing, and may your configs always come back valid. mwah πŸ’–πŸ’…βœ¨

πŸ“¦ where this page comes from