Go to the latest version of this document.

# ``twisted`.`web`.`vhost`.`VHostMonsterResource``

class documentation

`class VHostMonsterResource(resource.Resource): (source)`

Constructor: `VHostMonsterResource()`

View In Hierarchy

Use this to be able to record the hostname and method (http vs. https) in the URL without disturbing your web site. If you put this resource in a URL http://foo.com/bar then requests to http://foo.com/bar/http/baz.com/something will be equivalent to http://foo.com/something, except that the hostname the request will appear to be accessing will be "baz.com". So if "baz.com" is redirecting all requests for to foo.com, while foo.com is inaccessible from the outside, then redirect and url generation will work correctly

Method | `getChild` | Retrieve a 'child' resource from me.

Inherited from `Resource`:

Method | `__init__` | Initialize.
Method | `delEntity` | Undocumented
Method | `getChildForRequest` | Deprecated in favor of `getChildForRequest`.
Method | `getChildWithDefault` | Retrieve a static or dynamically generated child resource from me.
Method | `getDynamicEntity` | Undocumented
Method | `getStaticEntity` | Undocumented
Method | `listDynamicEntities` | Undocumented
Method | `listDynamicNames` | Undocumented
Method | `listEntities` | Undocumented
Method | `listNames` | Undocumented
Method | `listStaticEntities` | Undocumented
Method | `listStaticNames` | Undocumented
Method | `putChild` | Register a static child.
Method | `reallyPutEntity` | Undocumented
Method | `render` | Render a given resource. See `IResource`'s render method.
Method | `render_HEAD` | Default handling of HEAD method.
Class Variable | `allowedMethods` | Undocumented
Class Variable | `isLeaf` | Signal if this IResource implementor is a "leaf node" or not. If True, getChildWithDefault will not be called on this Resource.
Class Variable | `server` | Undocumented
Instance Variable | `children` | Undocumented

def getChild(self, path, request): (source)
overrides `twisted.web.resource.Resource.getChild`

Retrieve a 'child' resource from me.

Implement this to create dynamic resource generation -- resources which are always available may be registered with self.putChild().

This will not be called if the class-level variable 'isLeaf' is set in your subclass; instead, the 'postpath' attribute of the request will be left as a list of the remaining path elements.

For example, the URL /foo/bar/baz will normally be:

      | site.resource.getChild('foo').getChild('bar').getChild('baz').

However, if the resource returned by 'bar' has isLeaf set to true, then the getChild call will never be made on it.

Parameters and return value have the same meaning and requirements as those defined by `IResource.getChildWithDefault`.