Process the Content-Type header rules for the request.  Only
        the desired API version can be determined from those rules.

        :param request: The Request object provided by WebOb.
        :param result: The Result object to store the results in.

def _proc_ctype_header(self, request, result):
        """
        Process the Content-Type header rules for the request.  Only
        the desired API version can be determined from those rules.

        :param request: The Request object provided by WebOb.
        :param result: The Result object to store the results in.
        """

        if result:
            # Result has already been fully determined
            return

        try:
            ctype = request.headers['content-type']
        except KeyError:
            # No content-type header to examine
            return

        # Parse the content type
        ctype, params = parse_ctype(ctype)

        # Is it a recognized content type?
        if ctype not in self.types:
            return

        # Get the mapped ctype and version
        mapped_ctype, mapped_version = self.types[ctype](params)

        # Update the content type header and set the version
        if mapped_ctype:
            request.environ['aversion.request_type'] = mapped_ctype
            request.environ['aversion.orig_request_type'] = ctype
            request.environ['aversion.content_type'] = \
                request.headers['content-type']
            if self.overwrite_headers:
                request.headers['content-type'] = mapped_ctype
        if mapped_version:
            result.set_version(mapped_version)