4NK_vault/sdk-client/debug-api-response.js
4NK Dev 82981febd7 ci: docker_tag=api-dynamic-routes
- API complètement dynamique: routes /<env>/<project>/<file_name>
- Scanner automatique de tous les environnements disponibles
- Sécurité renforcée contre path traversal attacks
- Endpoint /routes dynamique avec 72 fichiers détectés
- SDK mis à jour pour récupération dynamique des routes
- Gestion d'erreurs complète et logs de sécurité
- Architecture production-ready avec multi-environnements
2025-09-30 13:42:40 +00:00

59 lines
1.8 KiB
JavaScript

const https = require('https');
async function debugApiResponse() {
console.log('🔍 Debug de la réponse API...');
const options = {
hostname: 'vault.4nkweb.com',
port: 6666,
path: '/dev/bitcoin/bitcoin.conf',
method: 'GET',
headers: {
'X-User-ID': 'demo_user_001'
},
rejectUnauthorized: false // Pour accepter les certificats auto-signés
};
const req = https.request(options, (res) => {
console.log('Status:', res.statusCode);
console.log('Headers:', res.headers);
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
console.log('Response length:', data.length);
console.log('First 200 chars:', data.substring(0, 200));
// Essayer de décoder base64
try {
const decoded = Buffer.from(data, 'base64');
console.log('Decoded length:', decoded.length);
console.log('First 50 bytes (hex):', decoded.subarray(0, 50).toString('hex'));
if (decoded.length >= 16) {
const nonce = decoded.subarray(0, 12);
const metadataSize = decoded.readUInt32BE(12);
const metadataJson = decoded.subarray(16, 16 + metadataSize);
console.log('Nonce (hex):', nonce.toString('hex'));
console.log('Metadata size:', metadataSize);
console.log('Metadata:', metadataJson.toString('utf-8'));
}
} catch (e) {
console.log('Error decoding:', e.message);
}
});
});
req.on('error', (e) => {
console.error('Request error:', e);
});
req.end();
}
debugApiResponse();