An array of strings containing any cookie values associated with this request.
The format of this array is:
request.Cookies(<NAME>,<INDEX>)=<VALUE>
Where <NAME> is the name of the cookie, <INDEX> is an index number starting at 1 as
you may have multiple cookies with the same name so subsequent ones will be added with
a higher index number. <VALUE> is the value of this cookie.
It is suggested that you use the accessor methods rather than set/get the value of this
multidimentional property directly.
%request.Data(<NAME>,<INDEX>,"O")=<Order number item was added>
Where <NAME> is the name of the parameter, <INDEX> is an index number starting at 1 as
you may have multiple parameters with the same name so subsequent ones will be added with
a higher index number. <VALUE> is the value of this parameter. <Encrypted state> is
1 if the value of this parameter was encrpyted and 0 otherwise.
Note that it is faster to access this multidimensional property directly rather than going through
the accessor methods. For example:
; Set the index number one 'Name' to 'Value'
Set %request.Data("Name",1)="Value"
; Output the value of parameter 'Name' for index number one (the default)
Write %request.Data("Name",1)
; Insert a new value for parameter 'Name' to 'Value'
Set %request.Data("Name",$Order(%request.Data("Name",""),-1)+1)="Value"
; Test if parameter 'Name' at index 2 is encrypted
If $Data(%request.Data("Name",2,"encrypt"))
If InterSystems IRIS receives a value that is longer than the string length limit,
it automatically creates a stream, writes the value to that stream, and places the stream
OREF into the Data property in place of the actual value. This means that in any case where
you might receive a very long string, your code should examine the value to see if it is an
OREF, and then handle it accordingly:
Set value=%request.Data("fieldname",1)
If $isobject(value) {
; Treat this as a stream
} Else {
; Treat this as a regular string
}
The section of the Url that the CSP Gateway on the web server matched
against to determine which InterSystems IRIS server to send the request to.
If the Url was '/csp/samples/menu.csp' and the CSP Gateway is setup to
match all requests to '/csp' then this parameter would be '/csp'.
property MimeData as %RawString [ MultiDimensional ];
An array of streams containing any multipart/mime data associated with this request.
The format of this array is:
request.MimeData(<NAME>,<INDEX>)=<VALUE>
Where <NAME> is the name of the mime data stream, <INDEX> is an index number starting at
1 as you may have multiple mime streams with the same name so subsequent ones will be added with
a higher index number. <VALUE> is the Oref of the stream associated with this mime data.
It is suggested that you use the accessor methods rather than set/get the value of this
multidimentional property directly.
property NoResetTimeout as %Boolean [ InitialExpression = 0 ];
If set to true then do not reset the session timeout for this request.
Useful if this request is checking some state on the session but does not want
to reset the timeout and cause the session to last longer. This property is set
automatically if you pass in query parameter 'CSPNoResetTimeout'.
If the url contains the configuration name of the server as the first piece
then this is defined to be the correct prefix to prepend to urls so they
include this config name
Given an encrypted string that is a series of name-value pairs and a key
to decrypt it with this will insert them into the request and set the encrypted flag.
If more than one value is associated with name, then the values
are subscripted using index starting with 1. Note that any encrypted
parameters will have lower index values than any unencrypted parameters, and so
will come first when you loop through them.
If the name-value pair is not defined, returns the value of default.
It is recommended to access the Data property directly
because it is faster. For example, this call is equivalent to:
Set return=$Get(%request.Data(name,index),default)
Return true if the name-value pair name at index is encrypted in the
url and false if it is not. This is useful to check that a parameter value that should
not be altered and so is generated and encrypted on the server has not been replaced by
the user by a 'http://machine/url.csp?PARAM=TEST' rather than the encrypted string produced
by the server.
It is recommended to access the Data property directly
because it is faster. For example, this call is equivalent to:
Set return=$Get(%request.Data(name,index,"encrypt"),0)
Pass the index by reference and it updates it with the next index number for
the name-value pair name. The method returns the value at the new index number.
This is useful for looping through the index values.
It is recommended to access the
Data property directly because it is faster. For example, this call
is equivalent to:
Set index=$Order(%request.Data(name,index),1,return)