def __new__(cls, name, category=None, reference=None, version=None):
        """
        construct a new ``HTTPHeader`` instance

        We use the ``__new__`` operator to ensure that only one
        ``HTTPHeader`` instance exists for each field-name, and to
        register the header so that it can be found/enumerated.
        """
        self = get_header(name, raiseError=False)
        if self:
            # Allow the registration to happen again, but assert
            # that everything is identical.
            assert self.name == name, \
                "duplicate registration with different capitalization"
            assert self.category == category, \
                "duplicate registration with different category"
            assert cls == self.__class__, \
                "duplicate registration with different class"
            return self

        self = object.__new__(cls)
        self.name = name
        assert isinstance(self.name, str)
        self.category = category or self.category
        self.version  = version or self.version
        self.reference = reference or self.reference
        _headers[self.name.lower()] = self
        self.sort_order = {'general': 1, 'request': 2,
                           'response': 3, 'entity': 4 }[self.category]
        self._environ_name = getattr(self, '_environ_name',
                                'HTTP_'+ self.name.upper().replace("-","_"))
        self._headers_name = getattr(self, '_headers_name',
                                 self.name.lower())
        assert self.version in ('1.1', '1.0', '0.9')
        return self
dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/Paste-2.0.1/paste/httpheaders.py/HTTPHeader.__new__/original