WebStack

docs/resource-map.html

732:7f1f02b485f8
2007-11-12 paulb [project @ 2007-11-12 00:50:03 by paulb] Introduced base classes for common authentication activities. Made cookie usage "safe" for usernames containing ":" characters. Added support for OpenID signatures.
     1 <?xml version="1.0" encoding="iso-8859-1"?>     2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">     3 <html xmlns="http://www.w3.org/1999/xhtml"><head>      4   <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type" />     5   <title>ResourceMap - Simple Mappings from Names to Resources</title>     6   <link href="styles.css" rel="stylesheet" type="text/css" /></head>     7 <body>     8 <h1>ResourceMap - Simple Mappings from Names to Resources</h1>     9 <p>The <code>ResourceMap</code> module provides classes (although    10 currently only one class is supplied) which act as standard WebStack    11 resources, but which examine the path or URL from incoming requests and    12 direct such requests to other resources based on the contents of the    13 path or URL. In other words, such classes map names or patterns to    14 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">    15 <h3>WebStack API - The MapResource Class</h3>    16     17 <p>The <code>MapResource</code>    18 class (found in the    19 <code>WebStack.Resources.ResourceMap</code> module) maps names to    20 resource objects, where to select a resource the    21 corresponding name must match the first component discovered    22 in the <a href="path-info.html">virtual "path info"</a>. For example,    23 consider the following virtual "path info" (where there may have been    24 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>    25 would match the above virtual "path info". Meanwhile, after processing    26 more of the information, we might have the following remains of the    27 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>    28 class provides more detail on the subject of name matching, including    29 the special "catch all" name and a discussion of the pass-through    30 parameter.</p></div></body></html>