def on_response(response):
            eq_(200, response.code)
            assert (u.is_json(response.headers.get('Content-Type')))

            sess = u.from_json(response.body)
            self.session_dict = sess

            patch = {'volume': 0.5, 'playlist': ['http://bob.com/vid.mp4']}

            self.check_send_patch(url, patch,
                                  partial(self.do_register_player, url))
        def on_response(response):
            eq_(200, response.code)
            assert(u.is_json(response.headers.get('Content-Type')))

            sess = u.from_json(response.body)
            self.session_dict = sess

            for k, v in expect.viewitems():
                assert k in sess, 'Session is missing attribute {}'.format(k)
                eq_(v, sess[k])

            next_func()
        def on_response(response):
            eq_(200, response.code)
            assert (u.is_json(response.headers.get('Content-Type')))

            sess = u.from_json(response.body)
            self.session_dict = sess

            for k, v in expect.viewitems():
                assert k in sess, 'Session is missing attribute {}'.format(k)
                eq_(v, sess[k])

            next_func()
        def on_response(response):
            eq_(200, response.code)
            assert(u.is_json(response.headers.get('Content-Type')))

            sess = u.from_json(response.body)
            self.session_dict = sess

            patch = {
                'volume': 0.5,
                'playlist': ['http://bob.com/vid.mp4']
            }

            self.check_send_patch(url, patch, partial(self.do_register_player, url))
Example #5
0
    def patch(self, id_):
        def on_complete(status, message):
            self.set_status(status)

            self.finish()

        if not is_json(self.request.headers.get('Content-Type', '')):
            raise HTTPError(400, 'Client submitted non-json Content-Type')

        data = from_json(self.request.body)

        sess = self.player_state.get_session(id_)
        sess.apply_state_change(data, on_complete)
Example #6
0
    def post(self):
        '''This method is just for creating new sessions. Trying to create a new
        with the same name as one that already exists is an error.'''

        if not is_json(self.request.headers.get('Content-Type', '')):
            raise HTTPError(400, 'Client submitted non-json Content-Type')

        data = from_json(self.request.body)

        def on_complete(status, message):
            self.set_status(201)
            self.set_header('Location', self.application.reverse_url('session', sess.id))
            self.finish()

        try:
            gen_url = partial(self.application.reverse_url, 'session')
            sess = self.player_state.create_or_renew_session(data, gen_url, on_complete)
        except PlayerInUseError as e:
            self.set_status(409)
            self.write({'message': e.message})
            self.finish()
            return