$Web_Response

From m204wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Set HTTP response header parameter

$Web_Response can be used to set any HTTP response header parameter.

$Web_Response is a callable $function, and it takes two arguments and returns a numeric status code.

Syntax

%rc = $Web_Response( parameter, value )

Syntax terms

%rc A numeric variable to contain a return code. Possible values are:
0 Response header parameter set.
-1 Not a web thread
-5 Parameter name missing.
parameter A String (or Longstring if Model 204 7.7 or higher) containing the name of the HTTP response header parameter.
value A String (or Longstring if Model 204 7.7 or higher) containing the value of the HTTP response header parameter.

Usage notes

  • Most response header parameters are set "under-the-covers" automatically or as the result of other Janus Web Server $function calls. These automatically-set parameters should be adequate for most applications. In the cases where they're not, $Web_Response provides the ability to set response header parameters directly.

    The response header parameter that is most likely to be useful and that can only be set with $Web_Response is the "Pragma" parameter, which can be used to indicate that a response should not be cached by the browser, as in the following example:

    %rc = $Web_Response('Pragma', 'no-cache')

  • The response header parameters are not sent until the size of the response has been determined, as the result of a $Web_Done or a $Web_ProcSend. Until one of these is issued, it is possible to change the value of a response header parameter at will.
  • Attention: Extreme caution should be used with this function since it provides direct access to the HTTP layer of the web protocols. $Web_Response does no validity checking for the parameter name or value specified. For more information about the HTTP standard response header parameters, visit https://en.wikipedia.org/wiki/List_of_HTTP_header_fields and http://www.iana.org/assignments/message-headers/message-headers.xml#perm-headers.