$Web Response: Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Automatically generated page update)
m (misc formatting)
 
(3 intermediate revisions by 2 users not shown)
Line 7: Line 7:


==Syntax==
==Syntax==
<p class="syntax"><span class="term">%rc</span> = $Web_Response( parameter, value )
<p class="syntax"><span class="term">%rc</span> = <span class="literal">$Web_Response</span>(<span class="term"> parameter</span>, <span class="term">value</span> )
</p>
</p>


===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table>
<tr><th>%rc</th>
<tr><th>%rc</th>
<td>A numeric variable to contain a return code. Possible values are:
<td>A numeric variable to contain a return code. Possible values are:
<table class="syntaxTable">
<table class="thJustBold">
<tr><th>0</th>
<tr><th>0</th>
<td>Response header parameter set.</td></tr>
<td>Response header parameter set.</td></tr>
<tr><th>-1</th>
<tr><th>-1</th>
<td>Not a web thread</td></tr>
<td>Not a web thread</td></tr>
<tr><th>-5</th>
<tr><th>-5</th>
<td>Parameter name missing.</td></tr></table>
<td>Parameter name missing.</td></tr>
</table></td></tr>


<tr><th>parameter</th>
<tr><th>parameter</th>
<td>The name of the HTTP response header parameter.</td></tr>
<td>A <var>String</var> (or <var>[[Longstrings|Longstring]]</var> if Model&nbsp;204 7.7 or higher) containing the name of the HTTP response header parameter.</td></tr>
 
<tr><th>value</th>
<tr><th>value</th>
<td>The value of the HTTP response header parameter.
<td>A <var>String</var> (or <var>Longstring</var> if Model&nbsp;204 7.7 or higher) containing the value of the HTTP response header parameter.
</td></tr></table>
</td></tr>
</table>


==Usage notes==
==Usage notes==
Most response header parameters are set "under-the-covers" either automatically or as the result of other <var class="product">[[Janus Web Server]]</var> $function calls. These automatically set parameters should be adequate for most applications. In the cases where they're not, <var>$Web_Response</var> provides the ability to set response header parameters directly.
<ul>
The response header parameter that is most likely to be useful and that can only be set with <var>$Web_Response</var> 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.
<li>Most response header parameters are set "under-the-covers" automatically or as the result of other <var class="product">[[Janus Web Server]]</var> $function calls. These automatically-set parameters should be adequate for most applications. In the cases where they're not, <var>$Web_Response</var> provides the ability to set response header parameters directly.
<p class="code"> %RC = $Web_Response('Pragma', 'no-cache')
<p>
</p>
The response header parameter that is most likely to be useful and that can only be set with <var>$Web_Response</var> 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:</p>
The response header parameters are not sent until the size of the response has been determined, either as the result of a <var>$Web_Done</var> or a <var>$Web_ProcSend</var>. Until one of these is issued, it is possible to change the value of a response header parameter at will.  
<p class="code">%rc = $Web_Response('Pragma', 'no-cache')
</p></li>
 
<li>The response header parameters are not sent until the size of the response has been determined, as the result of a <var>$Web_Done</var> or a <var>$Web_ProcSend</var>. Until one of these is issued, it is possible to change the value of a response header parameter at will. </li>


Extreme caution should be used with this function since it provides direct access to the HTTP layer of the web protocols. <var>$Web_Response</var> does '''no''' validity checking for the parameter name or value specified. For more information about the HTTP protocol including a specification of all the standard response header parameters, visit http://www.ics.uci.edu/pub/ietf/http/.
<li><b>Attention:</b> Extreme caution should be used with this function since it provides direct access to the HTTP layer of the web protocols. <var>$Web_Response</var> 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. </li>


[[Category:Janus Web Server $functions|$Web_Response]]
[[Category:Janus Web Server $functions|$Web_Response]]

Latest revision as of 23:38, 5 July 2016

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.