Provided by: golf_601.4.41-1_amd64 bug

NAME

       get-param -  (request-data)

PURPOSE

       Get a parameter value.

SYNTAX

           get-param ( <name> [ type <type> ] ) , ...

DESCRIPTION

       get-param  stores a parameter value in variable <name>. A parameter is a name/value pair kept by Golf for
       each request. The parameter's name must match <name>. A parameter can be of any type. A parameter is  set
       either:

           • by the caller in request URL, or

           • with set-param statement anywhere during request's execution, including in call-handler.

       If  parameter  is  a string, it is  trimmed for whitespaces (both on left and right). You can specify any
       number of parameters, separated by a comma.

       TYPES

       By default, <name> is a string variable, unless <type> (in "type" clause) is  specified.  <type>  can  be
       "string"  for  a  string  variable  (the  default),  "bool" for a boolean variable, "number" for a number
       variable, "string-array" for an array of strings, "number-array" for an array  of  numbers,  "bool-array"
       for  an  array of booleans, "message" for a message variable, "split-string" for a split-string variable,
       "hash" for an hash variable, "tree" for an tree variable, "tree-cursor"  for  an  tree  cursor  variable,
       "fifo"  for  a  FIFO  variable, "lifo" for a LIFO variable, "list" for a list variable, "file" for a file
       variable, and "service" for a service variable.

       The value obtained with get-param is checked to be of the proper <type>, and if it  isn't,  your  request
       will  error  out.  The  exception  to this is that a string parameter can be converted into a number or a
       boolean, assuming the string value represents  a  valid  number  or  is  "true"/"false".   Parameters  of
       "number" and "bool" types are obtained by value, and others by reference. It means for instance, that you
       can  pass  a tree to call-handler and read and write nodes there, and such changes will be visible in the
       caller request.

       INPUT PARAMETERS FROM A CALLER

       Input parameters in an external request  (i.e.  those   parameters  set  by  a  caller  outside  of  your
       application) are specified as name/value pairs (see service or command-line). Input parameter name can be
       made  up of alphanumeric characters, hyphen or underscore only and cannot start with a digit. Note that a
       hyphen is automatically converted to underscore, so for instance an input parameter  "some-parameter"  in
       HTTP request will be "some_parameter" in get-param.

       - File uploads

       File uploads are handled as input parameters as well, see file-uploading.

       - Web input parameters

       As  an example, for HTML form input parameters named "param1" with value "value1" and "param2" with value
       "value2":

           <input type='hidden' name='param1' value='value1'>
           <input type='hidden' name='param2' value='value2'>

       you can get these parameters and print out their values by using:

           get-param param1, param2

       A request may be in the form of a web link URL, and getting the parameter values is the same:

           http://<your web server>/<app name>/<request name>&param1=value1&param2=value2

       SETTING PARAMETERS DURING REQUEST'S EXECUTION

       Use set-param to replace the value of an existing parameter, or create a new one. For instance:

           get-param par1
           ...
           set-param par1="new value"

       In this case the value of an existing parameter "par1" is replaced with "new  value".  In  the  following
       code a new parameter is created, which can be retrieved later with get-param:

           set-param par1="new value"
           get-param par1

       See call-handler for more examples.

       DUPLICATE INPUT PARAMETER NAMES

       If there are multiple input parameters with the same name set by the request caller, such as

           http://<web address>/<app name>/<request name>?par=val1&par=val2

       the  value  of input parameter "par" is undefined. Do not specify multiple input parameters with the same
       name.

SEE ALSO

        Request data

       get-param request-body set-param See all documentation

$DATE                                               $VERSION                                           GOLF(2gg)