1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/resource-map.html Sun Nov 20 02:37:06 2005 +0000
1.3 @@ -0,0 +1,39 @@
1.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1.5 +<html xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type" />
1.6 +
1.7 + <title>ResourceMap - Simple Mappings from Names to Resources</title><meta name="generator" content="amaya 8.1a, see http://www.w3.org/Amaya/" />
1.8 + <link href="styles.css" rel="stylesheet" type="text/css" /></head>
1.9 +
1.10 +<body>
1.11 +<h1>ResourceMap - Simple Mappings from Names to Resources</h1>
1.12 +<p>The <code>ResourceMap</code> module provides classes (although
1.13 +currently only one class is supplied) which act as standard WebStack
1.14 +resources, but which examine the path or URL from incoming requests and
1.15 +direct such requests to other resources based on the contents of the
1.16 +path or URL. In other words, such classes map names or patterns to
1.17 +WebStack resources and dispatch requests accordingly.</p><h2>Introducing MapResource</h2><p>The <a href="paths-filesystem.html">"Treating the Path Like a Filesystem"</a> document contains an example involving the <code>MapResource</code> class; this class is initialised with a dictionary mapping names to resources as described below.</p><div class="WebStack">
1.18 +<h3>WebStack API - The MapResource Class</h3>
1.19 +
1.20 +<p>The <code>MapResource</code>
1.21 +class (found in the
1.22 +<code>WebStack.Resources.ResourceMap</code> module) maps names to
1.23 +resource objects, where to select a resource the
1.24 +corresponding name must match the first component discovered
1.25 +in the <a href="path-info.html">virtual "path info"</a>. For example,
1.26 +consider the following virtual "path info" (where there may have been
1.27 +more information in the path, but this has already been processed):</p><pre>/documents/news/2005/article.html</pre><p>Here, the name <code>documents</code>
1.28 +would match the above virtual "path info". Meanwhile, after processing
1.29 +more of the information, we might have the following remains of the
1.30 +path:</p><pre>/2005/article.html</pre><p>Here, the name <code>2005</code> would match, leaving the following information unprocessed:</p><pre>/article.html</pre><p>Here, the name <code>article.html</code> would match. However, let us consider the following original virtual "path info" instead:</p><pre>/documents/news/2005/</pre><p>After processing the leading components, we may instead end up with this:</p><pre>/</pre><p>Here, only an empty string as the name will specifically match the above.</p><h4>Further Reading</h4><p>The <a href="../apidocs/public/WebStack.Resources.ResourceMap.MapResource-class.html">API documentation</a> for the <code>MapResource</code>
1.31 +class provides more detail on the subject of name matching, including
1.32 +the special "catch all" name and a discussion of the pass-through
1.33 +parameter.</p><h4>Initialisation</h4><p><code>MapResource</code> objects are initialised with the following parameters:</p><dl><dt><code>mapping</code></dt><dd>A dictionary or dictionary-like object mapping names to resource objects. See above and the <a href="../apidocs/public/WebStack.Resources.ResourceMap.MapResource-class.html">API documentation</a> for a description of names.</dd><dt><code>pass_through</code></dt><dd>Indicates
1.34 +whether a component should be removed from the virtual "path info" if
1.35 +no specific match was made with any of the names, but if the "catch
1.36 +all" name selected a resource. By default, this parameter is set to a
1.37 +false value.</dd><dt><code>directory_redirects</code></dt><dd>Indicates whether a trailing <code>/</code> character should be added to paths which do not end with such a character, causing a <a href="redirection.html">redirect</a> if such a character has to be added.</dd><dt><code>urlencoding</code></dt><dd>When
1.38 +specified, this parameter forces a particular interpretation of "URL
1.39 +encoded" character values in the path. Otherwise, the default encoding
1.40 +is employed to interpret such values. (See <a href="paths.html">"URLs and Paths"</a> for an explanation of "URL encoded" values.)</dd></dl>
1.41 +
1.42 +</div></body></html>
1.43 \ No newline at end of file