Lemonldap::NG::Portal::Main::Request(3pm)

NAME
Lemonldap::NG::Portal::Main::Request - HTTP request object used in LLNG portal methods.

SYNOPSIS
  # Somewhere in a plugin...
  sub run {
      my ( $self, $req ) = @_;
      # $req is a Lemonldap::NG::Portal::Main::Request object
      ...
  }

DESCRIPTION
Lemonldap::NG::Portal::Main::Request extends Lemonldap::NG::Common::PSGI::Request to add all parameters needed to manage portal jobs.

METHODS

  Accessors
steps()

Stack of methods to call for this requests. It can be modified to change authentication process

data()

Free hash ref where plugins can store their data (during one request). Using it is a LLNG best practice

pdata

Free hash ref where plugins can store some persistent data: data are kept during auth process and cleaned after successful authentication, except if "$req->pdata->{keepPdata}" is set to an array of values. In this case, module that has set these values must remove them after its job ends.

User information

id()

Session id (main cookie value).

sessionInfo()

Hash ref that will be stored in session DB.

user()

Username given by authentication module, used by userDB module.

mustRedirect()

Boolean to indicate that response must be a redirection (used for example when request is a POST).

urlNotBase64

Boolean to indicate that url isn't Base64 encoded.

  Other methods
info()

Store info to display in response.

menuError()

notification()

see notification plugin.

errorType()

Returns positive/warning/negative depending on value stored in error property.

  Cookie methods

addCookie(string $cookie): add cookie in $req response headers. String is a complete cookie string, ex: "lemonldap=xxx"
delCookie(string $cookieName): remove cookie from $req response headers. It doesn't remove navigator cookie but remove a "Set-Cookie" header if value match "ltcookieNamegt=..."

SEE ALSO
<http://lemonldap-ng.org/>, Lemonldap::NG::Common::PSGI::Request

AUTHORS

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

BUG REPORT
Use OW2 system to report bug or ask for features: <https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>

DOWNLOAD
Lemonldap::NG is available at <https://lemonldap-ng.org/download>

COPYRIGHT AND LICENSE
See COPYING file for details.

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.

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