Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Nginx::ReadBody(3)    User Contributed Perl Documentation   Nginx::ReadBody(3)

TRANSLATIONS
       English:	Nginx::ReadBody

       Russian:	Nginx::ReadBody::Russian

NAME
       Nginx::ReadBody - nginx web server embeded perl module to read and
       evaluate	a request body

       Version 0.07

SYNOPSIS
	 #nginx.conf (part of)
	 location /post_here {
	  error_page 345 = @get_there;
	  error_page 346 = @good_post;
	  error_page 347 = @bad_post;

	  if ($request_method != POST)
	   { return 345; }

	  set $read_body_debug	1;
	  set $read_body_check	'My::Own::check_userdata';
	  set $read_body_done	346;
	  set $read_body_nodata	347;
	  set $read_body_false	347;

	  perl	Nginx::ReadBody::read;
	  }

DESCRIPTION
       nginx does not provide any methods to evaluate a	request	body. So this
       module does.

The "Nginx::ReadBody" methods
       "read($request);"
	   Intended to be a location handler.

       "handler($request, $variableName, $defaultValue,	$debug)"
	   Handlers retriver and registrar. This method	is intended to be used
	   from	other perl method acts as a location handler.

	   Method returns a reference to a subroutine defined by $variableName
	   (or $defaultValue).

	   Value of  $variableName is evaluated	and the	result is cached. See
	   $variableName for details.

	   Parameters are:

	   $request
		   nginx request object	(see
		   <http://wiki.nginx.org/NginxEmbeddedPerlModule>).

	   $variableName
		   Name	of the "nginx.conf" variable contains a	handler
		   definition.

		   Definition could be:

		   Digital code
			       Evaluated to the	reference to a subroutine just
			       returning this code. Exactly like this:

				   $handler = eval "sub	{ return $variableValue; }";

		   Name	of the perl subroutine
			       Like "My::Own::method".

			       Evaluated to the	reference to the named
			       subroutine. Exactly like	this:

				   $handler = eval "\\&$variableValue";

		   Definition of the perl subroutine
			       Like "sub {...}".

			       Evaluated to the	reference to the defined
			       subroutine. Exactly like	this:

				   $handler = eval $variableValue;

			       I did not test this option at all! Could	be
			       dangerous with typos, etc.

		   In case $variableName value is not in any of	these 3	forms
		   or in case "eval()" failed reference	to the subroutine
		   always returning 500	is returned.

	   $defaultValue
		   Definition should be	used in	case a variable	provided is
		   not set or set to empty string.

	   $debug  Controlls a verbosity of the	messages written to the	error
		   log.	See $read_body_debug.

       "variable($request, $variableName, $defaultValue, $debug)"
	   Smart - ok, not complitely stupid - "nginx.conf" variable
	   retriever. This method is intended to be used from other perl
	   method acts as a location handler.

	   Parameters are:

	   $request
		   nginx request object	(see
		   <http://wiki.nginx.org/NginxEmbeddedPerlModule>).

	   $variableName
		   Name	of the variable	to retrieve.

	   $defaultValue
		   Value should	be used	in case	a variable requested is	not
		   set or set to empty string. Could be	"undef".

		   In case $defaultValue is not	"undef"	this variable will be
		   set to this value for the rest of the whole request.

	   $debug  Controlls a verbosity of the	messages written to the	error
		   log.	See $read_body_debug.

"nginx.conf" variables controlls the "Nginx::ReadBody" behaviour
       $read_body_debug
	   Controlls should debug messages be sent to error log	or not.

	   Digit 0 or '' (empty	string)
		   Default. No debug messages.

	   Digit 1 or 'nonEmptyString'
		   Full	debug info.

	   '0 but true'	or negative number
		   Less	verbose	debug.

       $read_body_nodata
	   Should contain a "handler" definition (see "handler").

	   Default is 400.

	   In case a request does not have a body this "handler" is called.

	   Handler is called with a nginx request object (see
	   <http://wiki.nginx.org/NginxEmbeddedPerlModule>) as a single
	   argument.

	   This	handler	should act as a	location handler.

       $read_body_check
	   Should contain a "handler" definition (see "handler").

	   Default is '0 but true' so in case you did not define your own
	   $read_body_check the	request	will be	passed directly	to
	   $read_body_done.

	   As soon as body is fully received this "handler" is called to check
	   the content.

	   Handler is called with a nginx request object (see
	   <http://wiki.nginx.org/NginxEmbeddedPerlModule>) as a single
	   argument.

	   Should return "TRUE"	or "FALSE".

       $read_body_done
	   Should contain a "handler" definition (see "handler").

	   Default is 500 that should be a clear indication you	did not	define
	   an action should be performed with the request we just received a
	   body	for.

	   As soon as $read_body_check returns "TRUE" this "handler" is
	   called.

	   Handler is called with a nginx request object (see
	   <http://wiki.nginx.org/NginxEmbeddedPerlModule>) as a single
	   argument.

	   This	handler	should act as a	location handler.

       $read_body_false
	   Should contain a "handler" definition (see "handler").

	   Default is 400.

	   As soon as $read_body_check returns "FALSE" this "handler" is
	   called.

	   Handler is called with a nginx request object (see
	   <http://wiki.nginx.org/NginxEmbeddedPerlModule>) as a single
	   argument.

	   This	handler	should act as a	location handler.

   EXPORT
       None.

SEE ALSO
       <http://wiki.nginx.org/NginxEmbeddedPerlModule>.

AUTHOR
       Daniel Podolsky,	<tpaba@cpan.org>

COPYRIGHT AND LICENSE
       Copyright (C) 2010 by Daniel Podolsky

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself, either Perl	version	5.8.4 or, at
       your option, any	later version of Perl 5	you may	have available.

perl v5.32.0			  2010-04-19		    Nginx::ReadBody(3)

TRANSLATIONS | NAME | SYNOPSIS | DESCRIPTION | The "Nginx::ReadBody" methods | "nginx.conf" variables controlls the "Nginx::ReadBody" behaviour | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Nginx::ReadBody&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help