def METHOD_NAME(self, http_obj, method, path, headers):
    if self.__aesKey != '' or self.__TGT != None or self.__TGS != None:
        raise Exception('NTLM authentication in HTTP connection used, ' \
                        'cannot use Kerberos.')
    auth = ntlm.getNTLMSSPType1(domain=self.__domain)
    serverChallenge = self.send_ntlm_type1(http_obj, method, path, headers, auth.getData())[0]
    if serverChallenge is not None:
        self.__auth_type = AUTH_NTLM
        type3, exportedSessionKey = ntlm.getNTLMSSPType3(auth, serverChallenge, self.__username,
                                                         self.__password, self.__domain,
                                                         self.__lmhash, self.__nthash)
        auth_line_http = 'NTLM %s' % base64.b64encode(type3.getData()).decode('ascii')
    else:
        if self.__auth_type == AUTH_AUTO and AUTH_BASIC in self.__auth_types:
            self.__auth_type = AUTH_BASIC
            return self.get_auth_headers_basic(http_obj, method, path, headers)
        else:
            raise Exception('No supported auth offered by URL: %s' % self.__auth_types)
    # Format: auth_headers, reserved, ...
    return {'Authorization': auth_line_http}, None