$Web_Response

From m204wiki
Revision as of 18:54, 4 January 2016 by JAL (talk | contribs) (add Longstring capability)
Jump to navigation Jump to search

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.