@ai-growth/n8n-nodes-wordpress
Version:
n8n node for WordPress integration with AI GROWTH - SEO WP plugin
104 lines (103 loc) • 3.83 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
exports.__esModule = true;
exports.AuthHeaderManager = void 0;
/**
* Classe utilitária para gerenciar cabeçalhos de autenticação
*/
var AuthHeaderManager = /** @class */ (function () {
/**
* Construtor da classe
* @param credentials Credenciais do WordPress
*/
function AuthHeaderManager(credentials) {
this.credentials = credentials;
// Gerar token de autenticação básica
this.authToken = Buffer.from("".concat(credentials.username, ":").concat(credentials.password)).toString('base64');
}
/**
* Define o token de nonce (se necessário para algumas operações)
* @param nonce Token de nonce
*/
AuthHeaderManager.prototype.setNonce = function (nonce) {
this.nonceToken = nonce;
};
/**
* Obtém os cabeçalhos básicos de autenticação
* @returns Cabeçalhos de autenticação
*/
AuthHeaderManager.prototype.getBasicHeaders = function () {
return {
'Authorization': "Basic ".concat(this.authToken),
'Content-Type': 'application/json',
'Accept': 'application/json'
};
};
/**
* Obtém cabeçalhos para upload de mídia
* @param formDataHeaders Cabeçalhos específicos do FormData
* @returns Cabeçalhos para upload
*/
AuthHeaderManager.prototype.getMediaUploadHeaders = function (formDataHeaders) {
return __assign({ 'Authorization': "Basic ".concat(this.authToken), 'Content-Type': 'multipart/form-data', 'Accept': 'application/json' }, formDataHeaders);
};
/**
* Obtém cabeçalhos com nonce de segurança
* @returns Cabeçalhos com nonce
*/
AuthHeaderManager.prototype.getHeadersWithNonce = function () {
var headers = this.getBasicHeaders();
if (this.nonceToken) {
headers['X-WP-Nonce'] = this.nonceToken;
}
return headers;
};
/**
* Atualiza as credenciais
* @param credentials Novas credenciais
*/
AuthHeaderManager.prototype.updateCredentials = function (credentials) {
this.credentials = credentials;
// Regerar token de autenticação
this.authToken = Buffer.from("".concat(credentials.username, ":").concat(credentials.password)).toString('base64');
};
/**
* Verifica se os cabeçalhos contêm autenticação
* @param headers Cabeçalhos a verificar
* @returns Verdadeiro se os cabeçalhos contêm autenticação
*/
AuthHeaderManager.hasAuthHeader = function (headers) {
return Boolean(headers && headers['Authorization']);
};
/**
* Obtém os cabeçalhos para uma solicitação específica
* @param contentType Tipo de conteúdo
* @param useNonce Se deve incluir o nonce
* @returns Cabeçalhos apropriados
*/
AuthHeaderManager.prototype.getHeaders = function (contentType, useNonce) {
if (contentType === void 0) { contentType = 'application/json'; }
if (useNonce === void 0) { useNonce = false; }
var headers = {
'Authorization': "Basic ".concat(this.authToken),
'Content-Type': contentType,
'Accept': 'application/json'
};
if (useNonce && this.nonceToken) {
headers['X-WP-Nonce'] = this.nonceToken;
}
return headers;
};
return AuthHeaderManager;
}());
exports.AuthHeaderManager = AuthHeaderManager;