logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

HTTP::Request::Params - Retrieve GET/POST Parameters from HTTP Requests

Author

       Casey West, <casey@geeknest.com>.  Ian Stuart, <Ian.Stuart@ed.ac.uk>.

Description

       This software does all the dirty work of parsing HTTP Requests to find incoming query parameters.

   new
         my $parser = HTTP::Request::Params->new({
                         req => $http_request,
                      });

       "req" - This required argument is either an "HTTP::Request" object or a string containing an entier HTTP
       Request.

       Incoming query parameters come from two places. The first place is the "query" portion of the URL. Second
       is the content portion of an HTTP request as is the case when parsing a POST request, for example.

   params
         my $params = $parser->params;

       Returns a hash reference containing all the parameters. The keys in this hash are the names of the
       parameters. Values are the values associated with those parameters in the incoming query. For parameters
       with multiple values, the value in this hash will be a list reference. This is the same behaviour as the
       "CGI" module's "Vars()" function.

   req
         my $req_object = $parser->req;

       Returns the "HTTP::Request" object.

   mime
         my $mime_object = $parser->mime;

       Returns the "Email::MIME" object.

       Now, you may be wondering why we're dealing with an "Email::MIME" object.  The answer is simple. It's an
       amazing parser for MIME compliant messages, and RFC 822 compliant messages. When parsing incoming POST
       data, especially file uploads, "Email::MIME" is the perfect fit. It's fast and light.

Name

       HTTP::Request::Params - Retrieve GET/POST Parameters from HTTP Requests

See Also

       "HTTP::Daemon", HTTP::Request, Email::MIME, CGI, perl.

Synopsis

         use HTTP::Request::Params;

         my $http_request = read_request();
         my $parse_params = HTTP::Request::Params->new({
                              req => $http_request,
                            });
         my $params       = $parse_params->params;

See Also