Process the Accept header rules for the request.  Both the
        desired API version and content type 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_accept_header(self, request, result):
        """
        Process the Accept header rules for the request.  Both the
        desired API version and content type 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:
            accept = request.headers['accept']
        except KeyError:
            # No Accept header to examine
            return

        # Obtain the best-match content type and its parameters
        ctype, params = best_match(accept, self.types.keys())

        # 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)

        # Set the content type and version
        if mapped_ctype:
            result.set_ctype(mapped_ctype, ctype)
        if mapped_version:
            result.set_version(mapped_version)