Examples ======== The following example demonstrates how to use the Mix-in to handle media type validation and serialization. .. code:: python from tornado import web, gen from sprockets.mixins import media_type class MyRequestHandler(media_type.MediaTypeMixin, web.RequestHandler): @gen.coroutine def post(self, **kwargs): # Validate the Content-Type header using the Mix-in if not self.is_valid_content_type(): self.set_status(415, 'Unsupported content type') self.finish() return # Deserialize your request payload data = self.decode_request() # Ensure that you get some data out of it! if not data: self.set_status(400) self.finish() return # Manipulate your data and do business stuff with it data.pop('the_key') self.set_status(200) # Automatically serialize your data using the HTTP Accept headers self.write(data) @gen.coroutine def get(self, some_id): # Validate the Accept headers using the Mix-in if not self.is_valid_accept_header(): self.set_status(406, 'Invalid Accept header') self.finish() return # Maybe do some lookups from the database or get some data from somewhere data = {'some_id': some_id} self.set_status(200) # Automatically serialize your data using the HTTP Accept headers self.write(data)