'Process a request.'

def process(self):

    self.site = self.channel.site
    self.setHeader('server', version)
    self.setHeader('date', http.datetimeToString())
    self.prepath = []
    self.postpath = list(map(unquote, self.path[1:].split('/')))
    if (self.path == '*'):
        self._handleStar()
        return
    try:
        resrc = self.site.getResourceFor(self)
        if resource._IEncodingResource.providedBy(resrc):
            encoder = resrc.getEncoder(self)
            if (encoder is not None):
                self._encoder = encoder
        self.render(resrc)
    except:
        self.processingFailed(failure.Failure())
