

def post(self, session_id):
    self.preflight()
    self.handle_session_cookie()
    self.disable_cache()
    session = self._get_session(session_id)
    if ((session is None) or session.is_closed):
        self.set_status(404)
        return
    data = self.request.body
    if (not data):
        self.write('Payload expected.')
        self.set_status(500)
        return
    try:
        messages = proto.json_decode(bytes_to_str(data))
    except:
        self.write('Broken JSON encoding.')
        self.set_status(500)
        return
    try:
        session.on_messages(messages)
    except Exception:
        LOG.exception('XHR incoming')
        session.close()
        self.set_status(500)
        return
    self.set_status(204)
    self.set_header('Content-Type', 'text/plain; charset=UTF-8')

dataset/ETHPy150Open mrjoes/sockjs-tornado/sockjs/tornado/transports/xhr.py XhrSendHandler.post/original