$Web Hdr Parm: Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
m (add link)
 
Line 11: Line 11:


===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table>
<tr><th>%string</th>
<tr><th>%string</th>
<td>A string variable to contain the returned field value, or to contain a null for any error condition.
<td>A string variable to contain the returned field value, or to contain a null for any error condition.
Line 30: Line 30:
==Usage notes==
==Usage notes==
<ul>
<ul>
<li>Even though "METHOD", "URL", "HTTP", and "ISINDEX" are not named HTTP header parameters, if requested with <var>$Web_Hdr_Parm</var>, the following will be returned for these names:
<li>Even though "METHOD", "URL", "HTTP", and "ISINDEX" are not named HTTP header parameters, they are valid keywords for the <var>$Web_Hdr_Parm</var> <var class="term">fieldname</var> parameter, returning these values:


<table class="thJustBold">
<table class="thJustBold">
Line 37: Line 37:


<tr><th>URL</th>
<tr><th>URL</th>
<td>The URL associated with the request. It will not contain the protocol (http or https) or host name for the request as these are not sent by the browser. The protocol (http or https) can be determined by the [[$Web_Secure]] function and the host name sent by the browser can usually be retrieved via the "HOST" header parameter. The "URL" value will also not include the query parameters (the part after a question mark) though these can be retrieved via the "ISINDEX" header parameter.</td></tr>
<td>The URL associated with the request. The value returned does not contain the protocol (http or https) or host name for the request, as these are not sent by the browser. The protocol (http or https) can be determined by the <var>[[$Web_Secure]]</var> function, and the host name sent by the browser can usually be retrieved with the <var>HOST</var> header parameter.  
<p>
The <var>URL</var> value will also not include the query parameters (the part after a question mark) though these can be retrieved via the <var>ISINDEX</var> header parameter. Alternatively, if you want to retrieve a relative URL including its query parameters, you can use <var>[[$Web_Form_Action]]</var>.</p></td></tr>


<tr><th>ISINDEX</th><td>The query parameters in the URL. This is the part of the URL that comes after a question mark and typically has a <i>name</i>=<i>value</i>&<i>name</i>=<i>value</i>... format. For URL parameters in this format, the [[Janus Web Server $functions#Isindex data/URL parameter processing functions|$Web_Isindex/$Web_URL_Parm]] functions provide an easy way of getting the components of the URL parameters.</td></tr>
<tr><th>ISINDEX</th>
<td>The query parameters in the URL. This is the part of the URL that comes after a question mark and typically has a <i>name</i>=<i>value</i>&<i>name</i>=<i>value</i>... format. For URL parameters in this format, the [[Janus Web Server $functions#Isindex data/URL parameter processing functions|$Web_Isindex and $Web_URL_Parm]] functions provide an easy way of getting the components of the URL parameters.</td></tr>


<tr><th>HTTP</th>
<tr><th>HTTP</th>
Line 47: Line 50:


==Examples==
==Examples==
The following example places the value of each header parameter into a <var class="product">User Language</var> %variable of the same name.
The following example places the value of each header parameter into a <var class="product">SOUL</var> %variable of the same name.
<p class="code">&#42; Stash the header values in matching fields.
<p class="code">&#42; Stash the header values in matching fields.
%method = $Web_Hdr_Parm( 'METHOD' )
%method = $Web_Hdr_Parm( 'METHOD' )

Latest revision as of 17:32, 3 February 2016

Value of request header field


$Web_Hdr_Parm retrieves the value of a request header field.

Syntax

%string = $Web_Hdr_Parm( fieldname, occurrence, [start], [length] )

Syntax terms

%string A string variable to contain the returned field value, or to contain a null for any error condition.
fieldname The name of the header field, returned by $Web_Hdr_Name. Required argument if occurrence not specified; otherwise optional.
occurrence The occurrence number of a header field, or the occurrence number of the header field matching fieldname, if fieldname is specified. This is an optional argument if fieldname is specified; otherwise it is required.
start Starting position within the field. This is an optional argument which defaults to 1.
length Length to return. This is an optional argument which defaults to the length of the header field. The length of a header field can be determined with $Web_Hdr_Len.

Usage notes

  • Even though "METHOD", "URL", "HTTP", and "ISINDEX" are not named HTTP header parameters, they are valid keywords for the $Web_Hdr_Parm fieldname parameter, returning these values:
    METHOD The HTTP method associated with the request.
    URL The URL associated with the request. The value returned does not contain the protocol (http or https) or host name for the request, as these are not sent by the browser. The protocol (http or https) can be determined by the $Web_Secure function, and the host name sent by the browser can usually be retrieved with the HOST header parameter.

    The URL value will also not include the query parameters (the part after a question mark) though these can be retrieved via the ISINDEX header parameter. Alternatively, if you want to retrieve a relative URL including its query parameters, you can use $Web_Form_Action.

    ISINDEX The query parameters in the URL. This is the part of the URL that comes after a question mark and typically has a name=value&name=value... format. For URL parameters in this format, the $Web_Isindex and $Web_URL_Parm functions provide an easy way of getting the components of the URL parameters.
    HTTP The version of HTTP requested by the browser. This is currently almost always going to be "1.1".

Examples

The following example places the value of each header parameter into a SOUL %variable of the same name.

* Stash the header values in matching fields. %method = $Web_Hdr_Parm( 'METHOD' ) %url = $Web_Hdr_Parm( 'URL' ) %version = $Web_Hdr_Parm( 'VERSION' )

See also