UNPKG

@ai-growth/n8n-nodes-wordpress

Version:

n8n node for WordPress integration with AI GROWTH - SEO WP plugin

104 lines (103 loc) 3.83 kB
"use strict"; 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;