Esempio n. 1
0
    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