AxKit::XSP::WebUtils - Utilities for building XSP web apps Add the taglib to AxKit (via httpd.conf or .htaccess): AxAddXSPTaglib AxKit::XSP::WebUtils Add the `web:' namespace to your XSP `<xsp:page'> tag: <xsp:page language="Perl" xmlns:xsp="http://apache.org/xsp/core/v1" xmlns:web="http://axkit.org/NS/xsp/webutils/v1" > Then use the tags: <web:redirect> <web:uri>foo.xsp</web:uri> </web:redirect> The XSP WebUtils taglib implements a number of features for building web applications with XSP. It makes things like redirects and getting/setting headers simple. All of the below tags allow the parameters listed to be either passed as an attribute (e.g. `<web:env_param name="PATH"'>), or as a child tag: <web:env_param> <web:name>PATH</web:name> </web:env_param> The latter method allows you to use XSP expressions for the values.

`<web:env_param name="..." /'>
Fetch the environment variable specified with the name parameter. <b>Server admin: <web:env_param name="SERVER_ADMIN"/></b>

`<web:path_info/'>
Returns the current PATH_INFO value.

`<web:query_string/'>
Returns the current query string

`<web:request_uri/'>
Returns the full URI of the current request

`<web:request_host/'>
This tag returns the end-user-visible name of this web service Consider www.example.com on port 80. It is served by a number of machines named abs, legs, arms, pecs and foo1, on a diversity of ports. With a proxy server in front that monkies with the headers along the way. It turns out that, while writing a script, people often wonder "How do I figure out the name of the web service that's been accessed?". Various hacks with uname, hostname, HTTP headers, etc. ensue. This function is the answer to all your problems.

`<web:server_root/'>
Returns the server root directory, aka document root.

`<web:redirect'>
This tag allows an XSP page to issue a redirect. Parameters (can be attributes or child tags): The uri to redirect to. The host to redirect to. Set to "yes" if you wish to redirect to a secure (ssl/https) server. Example (uses XSP param taglib): <web:redirect secure="yes"> <web:uri><param:goto/></web:uri> </web:redirect>

`<web:url_encode string="..."/'>
Encode the string using URL encoding according to the URI specification.

`<web:url_decode string="..."/'>
Decode the URL encoded string.

`<web:header'>
This tag allows you to get and set HTTP headers. Parameters: The name of the parameter. If only name is specified, you will get the value of the incoming HTTP header of the given name. If you also specify a value parameter, then the tag will set the outgoing HTTP header to the given value. Example: <p> Your browser is: <web:header name="HTTP_USER_AGENT"/> </p> Matt Sergeant, matt@axkit.com Original code by Steve Willer, steve@willer.cc This software is Copyright 2001 AxKit.com Ltd. You may use or redistribute this software under the terms of either the Perl Artistic License, or the GPL version 2.0 or higher.