Go to the latest version of this document.

# ``twisted`.`web`.`server`.`Site``

class documentation

`class Site(HTTPFactory): (source)`

Constructor: `Site(resource, requestFactory, *args, parsePOSTFormSubmission, **kwargs)`

Implements interfaces: `twisted.internet.interfaces.IProtocolNegotiationFactory`

View In Hierarchy

A web site: manage log, sessions, and resources.

Method | `__getstate__` | Undocumented
Method | `__init__` | No summary
Method | `acceptableProtocols` | Protocols this server can speak.
Method | `buildProtocol` | Generate a channel attached to this site.
Method | `getChildWithDefault` | Emulate a resource's getChild method.
Method | `getResourceFor` | Get a resource for a request.
Method | `getSession` | Get a previously generated session.
Method | `makeSession` | Generate a new Session instance, and store it for future reference.
Method | `render` | Redirect because a Site is always a directory.
Class Variable | `isLeaf` | Undocumented
Instance Variable | `counter` | The number of sessions that have been generated.
Instance Variable | `displayTracebacks` | If set, unhandled exceptions raised during rendering are returned to the client as HTML. Default to `False`.
Instance Variable | `requestFactory` | A factory which is called with (channel) and creates `Request` instances. Default to `Request`.
Instance Variable | `resource` | Undocumented
Instance Variable | `sessionCheckTime` | Deprecated and unused. See `Session.sessionTimeout` instead.
Instance Variable | `sessionFactory` | factory for sessions objects. Default to `Session`.
Instance Variable | `sessions` | Mapping of session IDs to objects returned by `sessionFactory`.
Method | `_mkuid` | (internal) Generate an opaque, unique ID for a user's session.
Method | `_openLogFile` | Override in subclasses, e.g. to use `twisted.python.logfile`.
Instance Variable | `_parsePOSTFormSubmission` | Undocumented

Inherited from `HTTPFactory`:

Method | `log` | Write a line representing `request` to the access log file.
Method | `startFactory` | Set up request logging if necessary.
Method | `stopFactory` | This will be called before I stop listening on all Ports/Connectors.
Class Variable | `logFile` | A file (object with `write(data: str)` and `close()` methods) that will be used for logging HTTP requests and responses in the standard Combined Log Format .
Instance Variable | `logPath` | Undocumented
Instance Variable | `reactor` | An `IReactorTime` provider used to manage connection timeouts and compute logging timestamps.
Instance Variable | `timeOut` | Undocumented
Method | `_get_logFile` | Undocumented
Method | `_get_logFile.setter` | Undocumented
Method | `_updateLogDateTime` | Update log datetime periodically, so we aren't always recalculating it.
Instance Variable | `_logDateTime` | A cached datetime string for log messages, updated by `_logDateTimeCall`.
Instance Variable | `_logDateTimeCall` | A delayed call for the next update to the cached log datetime string.
Instance Variable | `_logFile` | Undocumented
Instance Variable | `_logFormatter` | See the `logFormatter` parameter to `__init__`
Instance Variable | `_nativeize` | A flag that indicates whether the log file being written to wants native strings (`True`) or bytes (`False`). This is only to support writing to `twisted.python.log` which, unfortunately, works with native strings.

Inherited from `Factory` (via `HTTPFactory`, `ServerFactory`):

Class Method | `forProtocol` | Create a factory for the given protocol.
Method | `doStart` | Make sure startFactory is called.
Method | `doStop` | Make sure stopFactory is called.
Method | `logPrefix` | Describe this factory for log messages.
Class Variable | `noisy` | Undocumented
Class Variable | `protocol` | Undocumented
Instance Variable | `numPorts` | Undocumented

def __getstate__(self): (source)

Undocumented

def __init__(self, resource, requestFactory=None, *args, parsePOSTFormSubmission=True, **kwargs): (source)
overrides `twisted.web.http.HTTPFactory.__init__`

Parameters
resource:`IResource` provider | The root of the resource hierarchy. All request traversal for requests received by this factory will begin at this resource.
requestFactory:`callable` or `class`. | Overwrite for default requestFactory.
*args | Undocumented
parsePOSTFormSubmission:`bool` | If `True`, the default, parse MIME multipart and URL-encoded body uploads into `request.args`. This can use large amounts of memory for large uploads.
**kwargs | Undocumented

See Also
`twisted.web.http.HTTPFactory.__init__`

def acceptableProtocols(self): (source)
from `twisted.internet.interfaces.IProtocolNegotiationFactory`

Protocols this server can speak.

def buildProtocol(self, addr): (source)
from `twisted.internet.interfaces.IProtocolFactory`
overrides `twisted.web.http.HTTPFactory.buildProtocol`

Generate a channel attached to this site.

def getChildWithDefault(self, pathEl, request): (source)

Emulate a resource's getChild method.

def getResourceFor(self, request): (source)

Get a resource for a request.

This iterates through the resource hierarchy, calling getChildWithDefault on each resource it finds for a path element, stopping when it hits an element where isLeaf is true.

def getSession(self, uid): (source)

Get a previously generated session.

Parameters
uid:`bytes`. | Unique ID of the session.

Raises
`KeyError` | If the session is not found.

def makeSession(self): (source)

Generate a new Session instance, and store it for future reference.

def render(self, request): (source)

Redirect because a Site is always a directory.

isLeaf: `int` = (source)

Undocumented

counter: `int` = (source)

The number of sessions that have been generated.

displayTracebacks: `bool` = (source)

If set, unhandled exceptions raised during rendering are returned to the client as HTML. Default to `False`.

requestFactory = (source)

A factory which is called with (channel) and creates `Request` instances. Default to `Request`.

resource = (source)

Undocumented

sessionCheckTime: `int` = (source)

Deprecated and unused. See `Session.sessionTimeout` instead.

sessionFactory = (source)

factory for sessions objects. Default to `Session`.

sessions: `dict` mapping `bytes` to `Session` given the default `sessionFactory` = (source)

Mapping of session IDs to objects returned by `sessionFactory`.

def _mkuid(self): (source)

(internal) Generate an opaque, unique ID for a user's session.

def _openLogFile(self, path): (source)
overrides `twisted.web.http.HTTPFactory._openLogFile`

Override in subclasses, e.g. to use `twisted.python.logfile`.

_parsePOSTFormSubmission: `bool` = (source)

Undocumented