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 85 86 87 88 89 90 91 92 93 94 95 96
|
<?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_internal_redirect">
<refmeta>
<refentrytitle>http_internal_redirect</refentrytitle>
<refmiscinfo>ws</refmiscinfo>
</refmeta>
<refnamediv>
<refname>http_internal_redirect</refname>
<refpurpose>Performs internal redirect.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_http_internal_redirect">
<funcprototype id="fproto_http_internal_redirect">
<funcdef>any <function>http_internal_redirect</function></funcdef>
<paramdef>in <parameter>full_path</parameter> varchar</paramdef>
<paramdef><optional>in <parameter>p_full_path</parameter> varchar</optional></paramdef>
<paramdef><optional>in <parameter>long_url</parameter> varchar</optional></paramdef>
<paramdef><optional>in <parameter>keep_lpath</parameter> integer</optional></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_http_internal_redirect"><title>Description</title>
<para>This function performs internal redirect. Can be used in handling situations where HTTP level
redirection is inadequate. For example, 303 redirection offered when implementing hashless Linked
Data URIs. Instead of sending a 303 Virtuoso will redirect to the URL in "Location:" and
return 200 OK. Basically, this is like curl -iL instead of curl -i, but implemented inside Virtuoso.
</para>
<para>The function can be used directly or via URI template syntax used to construct rewrite rules
for Virtuoso virtual directories / web service endpoints.</para>
</refsect1>
<refsect1 id="params_http_internal_redirect"><title>Parameters</title>
<refsect2><title>full_path</title>
<para>Set new logical path to be redirected to.</para>
</refsect2>
<refsect2><title>p_full_path</title>
<para>Set physical path to be redirected to.</para>
</refsect2>
<refsect2><title>long_url</title>
<para>Reserved for internal usage.</para>
</refsect2>
<refsect2><title>keep_lpath</title>
<para>Reserved for internal usage.</para>
</refsect2>
</refsect1>
<refsect1 id="examples_http_internal_redirect"><title>Examples</title>
<example id="ex_http_internal_redirect"><title>Using http_internal_redirect()</title>
<programlisting><![CDATA[
create procedure my_redirect()
{
declare full_path varchar;
...
full_path := '/DAV/VAD/test/';
http_internal_redirect (full_path);
set_user_id ('demo');
set http_charset='utf-8';
http_header ('Content-Type: text/xml; charset=UTF-8\r\n');
WS.WS.GET (path, pars, lines);
return null;
}
}
]]></programlisting>
</example>
</refsect1>
<refsect1 id="seealso_http_internal_redirect"><title>See Also</title>
<para>
<link linkend="fn_http"><function>http</function></link>,
<link linkend="fn_http_value"><function>http_value</function></link>,
<link linkend="fn_http_url"><function>http_url</function></link>,
<link linkend="fn_string_output"><function>string_output</function></link>,
<link linkend="fn_http_rewrite"><function>http_rewrite</function></link>.
<link linkend="fn_http_header"><function>http_header</function></link>.
</para>
</refsect1>
</refentry>
|