1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<refentry id="fn_http_request_header">
<refmeta>
<refentrytitle>http_request_header</refentrytitle>
<refmiscinfo>ws</refmiscinfo>
</refmeta>
<refnamediv>
<refname>http_request_header</refname>
<refpurpose>returns array of HTTP request header lines</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_http_request_header">
<funcprototype id="fproto_http_request_header">
<funcdef>any <function>http_request_header</function></funcdef>
<paramdef><optional>in <parameter>array</parameter> any</optional></paramdef>
<paramdef><optional>in <parameter>field_name</parameter> varchar</optional></paramdef>
<paramdef><optional>in <parameter>attr-name</parameter> varchar</optional></paramdef>
<paramdef><optional>in <parameter>default_value</parameter> varchar</optional></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_http_request_header"><title>Description</title>
<para>
This function provides access to the HTTP request header lines.</para>
</refsect1>
<refsect1 id="ret_http_request_header"><title>Return Types</title>
<para>
If no input parameters are supplied then this function returns a copy of
the lines vector of VSP pages. If array, field_name and mime_attribute is
supplied then this function will attempt to extract the associated value,
if is cannot be found then the default_value input will be returned. If
attr-name is supplied then the mime attribute from the field_name will
be returned.
</para>
<para>
Note that when field value is requested then it will be treated as a MIME field and only value will be returned if found. For example consider presence of following header line: "Content-Type: text/plain; charset=utf-8", then if 'Content-Type' is requested, only "text/plain" will be returned. Use http_request_header_full to obtain the full field value.
</para>
</refsect1>
<refsect1 id="examples_http_request_header"><title>Examples</title>
<example id="ex_http_request_header"><title>Accessing the HTTP request headers</title>
<programlisting>
<p>Your request follows</p>
<?vsp
declare header any;
declare ix, len integer;
declare host varchar;
header := http_request_header ();
len := length (header);
ix := 0;
while (ix < len)
{
http (aref (header, ix));
ix := ix + 1;
}
host := http_request_header(lines, 'Host', null, '*** NO HOST IN REQUEST ***')
?>
</programlisting>
</example>
</refsect1>
</refentry>
|