def _loginFailed(self, result): """ Handle login failure by presenting either another challenge (for expected authentication/authorization-related failures) or a server error page (for anything else). """ if result.check(credError.Unauthorized, credError.LoginFailed): return UnauthorizedResource(self._credentialFactories) else: log.err( result, "HTTPAuthSessionWrapper.getChildWithDefault encountered " "unexpected error") return ErrorPage(500, None, None)
def _authorizedResource(self, request): """ Get the L{IResource} which the given request is authorized to receive. If the proper authorization headers are present, the resource will be requested from the portal. If not, an anonymous login attempt will be made. """ authheader = request.getHeader('authorization') if not authheader: return UnauthorizedResource(self._credentialFactories) factory, respString = self._selectParseHeader(authheader) if factory is None: return UnauthorizedResource(self._credentialFactories) try: credentials = factory.decode(respString, request) except credError.LoginFailed: return UnauthorizedResource(self._credentialFactories) except: log.err(None, "Unexpected failure from credentials factory") return ErrorPage(500, None, None) else: return util.DeferredResource(self._login(credentials))
def __init__(self, message="Sorry, that resource already exists."): ErrorPage.__init__(self, http.CONFLICT, "Conflict", message)
def __init__(self, message=http.RESPONSES[http.UNAUTHORIZED]): ErrorPage.__init__(self, http.UNAUTHORIZED, http.RESPONSES[http.UNAUTHORIZED], message)
def __init__(self, message=http.RESPONSES[http.UNSUPPORTED_MEDIA_TYPE]): ErrorPage.__init__(self, http.UNSUPPORTED_MEDIA_TYPE, http.RESPONSES[http.UNSUPPORTED_MEDIA_TYPE], message)
def __init__(self, message='Sorry, we could not find that resource.'): TwistedErrorPage.__init__(self, http.NOT_FOUND, 'No Such Resource', message)
def __init__(self, status, brief, detail, errorClassName): self.errorClassName = errorClassName TwistedErrorPage.__init__(self, status, brief, detail)
def render(self, request): log.msg('Request %s: ErrorPage: status %s, class %s' % ( request._fluidDB_reqid, self.code, self.errorClassName)) request.setHeader(buildHeader('Error-Class'), self.errorClassName) request.setHeader(buildHeader('Request-Id'), request._fluidDB_reqid) return TwistedErrorPage.render(self, request)
def __init__(self, message=http.RESPONSES[http.INTERNAL_SERVER_ERROR]): ErrorPage.__init__(self, http.INTERNAL_SERVER_ERROR, http.RESPONSES[http.INTERNAL_SERVER_ERROR], message)
def __init__(self, message=http.RESPONSES[FAILED_DEPENDENCY]): ErrorPage.__init__(self, FAILED_DEPENDENCY, http.RESPONSES[FAILED_DEPENDENCY], message)
def __init__(self, message=http.RESPONSES[http._CONTINUE]): ErrorPage.__init__(self, http._CONTINUE, http.RESPONSES[http._CONTINUE], message)
def __init__(self, message=http.RESPONSES[http.CREATED]): ErrorPage.__init__(self, http.CREATED, http.RESPONSES[http.CREATED], message)
def __init__(self, message=http.RESPONSES[http.CONFLICT]): ErrorPage.__init__(self, http.CONFLICT, http.RESPONSES[http.CONFLICT], message)
def __init__(self, message=http.RESPONSES[http.BAD_REQUEST]): ErrorPage.__init__(self, http.BAD_REQUEST, http.RESPONSES[http.BAD_REQUEST], message)
def __init__(self, message=http.RESPONSES[http.BAD_GATEWAY]): ErrorPage.__init__(self, http.BAD_GATEWAY, http.RESPONSES[http.BAD_GATEWAY], message)
def __init__(self, message=http.RESPONSES[LOCKED]): ErrorPage.__init__(self, LOCKED, http.RESPONSES[LOCKED], message)
def __init__(self, message=http.RESPONSES[http.NO_CONTENT]): ErrorPage.__init__(self, http.NO_CONTENT, http.RESPONSES[http.NO_CONTENT], message)
def __init__(self, message=http.RESPONSES[http.NOT_ALLOWED]): ErrorPage.__init__(self, http.NOT_ALLOWED, http.RESPONSES[http.NOT_ALLOWED], message)
def __init__(self, message=http.RESPONSES[http.NOT_IMPLEMENTED]): ErrorPage.__init__(self, http.NOT_IMPLEMENTED, http.RESPONSES[http.NOT_IMPLEMENTED], message)
def render(self, request): log.msg('Request %s: ErrorPage: status %s, class %s' % (request._fluidDB_reqid, self.code, self.errorClassName)) request.setHeader(buildHeader('Error-Class'), self.errorClassName) request.setHeader(buildHeader('Request-Id'), request._fluidDB_reqid) return TwistedErrorPage.render(self, request)
def __init__(self, message=http.RESPONSES[http.PRECONDITION_FAILED]): ErrorPage.__init__(self, http.PRECONDITION_FAILED, http.RESPONSES[http.PRECONDITION_FAILED], message)
def _generateError(self, message): trace("server", message) return ErrorPage(404, "Error", message).render(self._request)
def __init__(self, message=http.RESPONSES[UNPROCESSIBLE_ENTITY]): ErrorPage.__init__(self, UNPROCESSIBLE_ENTITY, http.RESPONSES[UNPROCESSIBLE_ENTITY], message)