def render(self, request: Request): request.setHeader(b'Content-Type', b'application/json') if self.config.get('set_cors'): request.setHeader(b'Access-Control-Allow-Origin', b'*') request.setHeader(b'Access-Control-Allow-Methods', b'GET,POST,PUT,DELETE') request.setHeader(b'Access-Control-Allow-Headers', b'x-prototype-version,x-requested-with') request.setHeader(b'Access-Control-Max-Age', b'2520') callback_name = 'response_%s_process' % request.method.lower().decode('ascii') callback = getattr(self, callback_name, None) if not callback: request.setResponseCode(NOT_ALLOWED) return b'Method not allowed' session_id = request.getSession().uid d = self.cache_interface.get(session_id) d.addCallback(callback, session_id, request) return NOT_DONE_YET