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"))
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
final method Count(name As %String) as %Integer [ Language = objectscript ]
Returns the number of values associated with the name-value pair name.
final method CountCookie(name As %String) as %Integer [ Language = objectscript ]
Returns the count of cookies with this name.
final method CountMimeData(name As %String) as %Integer [ Language = objectscript ]
Returns the count of multipart MIME streams with this name.
final method Decrypt(data As %String, key As %String) as %Status [ Language = objectscript ]
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.
final method Find(name As %String, value As %String) as %Integer [ Language = objectscript ]
Returns the index of the name-value pair for name
with value. If not found, return "".
final method Get(name As %String, default As %String = "", index As %Integer = 1) as %String [ Language = objectscript ]
Returns the value of name-value pair name.
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.
This is deprecated in favour of accessing the Data directly
because this is faster, for example this is equivalent to:
Set return=$Get(%request.Data(name,index),default)
final method GetCgiEnv(name As %String, default As %String = "") as %String [ Language = objectscript ]
Retrieves the named CGI environment variable.
final method GetCookie(name As %String, default As %String = "", index As %Integer = 1) as %String [ Language = objectscript ]
final method Insert(name As %String, value As %String) [ Language = objectscript ]
Insert the value of name-value pair name to value.
If more than one value is associated with name, then the values
are subscripted using index starting with 1. This is deprecated in
favour of accessing the Data directly because this is faster, for
example this is equivalent to:
Set %request.Data(name,$Order(%request.Data(name,""),-1)+1)=value
final method IsDefined(name As %String, index As %Integer = 1) as %Boolean [ Language = objectscript ]
Tests if a name-value pair name is defined. This is deprecated in
favour of accessing the Data directly because this is faster, for
example this is equivalent to:
Set return=$Data(%request.Data(name,index))
final method IsDefinedCgiEnv(name As %String) as %Boolean [ Language = objectscript ]
Returns true if the named CGI environment variable exists in the collection, false otherwise.
final method IsDefinedCookie(name As %String, index As %Integer = 1) as %Boolean [ Language = objectscript ]
Returns true if the named cookie exists in the cookie collection, false otherwise.
final method IsDefinedMimeData(name As %String, index As %Integer = 1) as %Boolean [ Language = objectscript ]
Returns true if the named multipart MIME stream exists in the collection, false otherwise.
final method IsEncrypted(name As %String, index As %Integer = 1) as %Boolean [ Language = objectscript ]
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. This is deprecated in favour of access the Data directly
because this is faster, for example this is equivalent to:
Set return=$Get(%request.Data(name,index,"encrypt"),0)
final method Next(name As %String) as %String [ Language = objectscript ]
Returns the next key in sequence. This is deprecated in favour of accessing the
Data directly because this is faster. The call is equivalent
to the code:
Set return=$Order(%request.Data(name))
final method NextCgiEnv(name As %String) as %String [ Language = objectscript ]
Retrieves the next CGI environment variable name in the sequence
final method NextCookie(name As %String) as %String [ Language = objectscript ]
Retrieves the next cookie name in the sequence
final method NextIndex(name As %String, ByRef index As %Integer = "") as %String [ Language = objectscript ]
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. This is deprecated in
favour of accessing the Data directly because this is faster, for
example this is equivalent to:
Set index=$Order(%request.Data(name,index),1,return)
final method NextMimeData(name As %String) as %String [ Language = objectscript ]
Retrieves name of the next multipart MIME stream stored in the request object.
final method NextMimeDataIndex(name As %String, index As %Integer = "") as %String [ Language = objectscript ]
Return the index number of the next multipart MIME stream stored in the request object.
final method Reset() [ Language = objectscript ]
Resets this %CSP.Request object to its initial state