Esempio n. 1
0
    def render(self, request):
        """
        :type request: bouser.web.request.BouserRequest
        :param request:
        :return:
        """
        self.web.crossdomain(request, allow_credentials=True)
        main, sub = request.get_content_type()
        if not main:
            main, sub = 'application', 'json'
        content = request.content.getvalue()
        if sub in ('msgpack', 'application/x-msgpack'):
            data = load(content)
        elif sub == 'json':
            data = json.loads(content, 'utf-8')
        else:
            request.setResponseCode(400, 'Unknown Content Type')
            return ''

        message = Message.from_json(data)

        self.simargl.message_received(self, message)

        request.setHeader('content-type', 'application/json; charset=utf-8')
        return as_json({'success': True})