T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/lavocat.ca/private_html/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.ca/private_html/scripts/test-api-node.js
const https = require('https');
const http = require('http');

// Disable SSL certificate verification for self-signed certificates
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

async function testEndpoint(url) {
  return new Promise((resolve, reject) => {
    const client = url.startsWith('https') ? https : http;
    
    const req = client.get(url, (res) => {
      let data = '';
      
      res.on('data', (chunk) => {
        data += chunk;
      });
      
      res.on('end', () => {
        resolve({
          status: res.statusCode,
          ok: res.statusCode >= 200 && res.statusCode < 300,
          data: data,
          headers: res.headers
        });
      });
    });
    
    req.on('error', (error) => {
      reject(error);
    });
    
    req.setTimeout(5000, () => {
      req.destroy();
      reject(new Error('Request timeout'));
    });
  });
}

async function main() {
  console.log('๐Ÿงช Testing Business Profiles API Endpoint (Node.js)...\n');

  const endpoints = [
    'http://localhost:3000/api/public/business-profiles',
    'https://localhost:3443/api/public/business-profiles'
  ];

  for (const endpoint of endpoints) {
    console.log(`\n๐Ÿ” Testing: ${endpoint}`);
    
    try {
      const result = await testEndpoint(endpoint);
      
      console.log(`๐Ÿ“ก Response Status: ${result.status}`);
      console.log(`๐Ÿ“ก Response OK: ${result.ok}`);
      console.log(`๐Ÿ“ก Content-Type: ${result.headers['content-type']}`);

      if (!result.ok) {
        console.log(`โŒ API Error: ${result.status}`);
        console.log(`๐Ÿ“„ Raw Response (first 500 chars):`);
        console.log(result.data.substring(0, 500));
        continue;
      }

      // Try to parse as JSON
      try {
        const jsonData = JSON.parse(result.data);
        
        console.log(`๐Ÿ“Š Data Type: ${Array.isArray(jsonData) ? 'Array' : typeof jsonData}`);
        console.log(`๐Ÿ“Š Data Length: ${Array.isArray(jsonData) ? jsonData.length : 'N/A'}`);
        
        if (Array.isArray(jsonData) && jsonData.length > 0) {
          console.log(`โœ… SUCCESS! Found ${jsonData.length} business profiles`);
          console.log(`๐Ÿ“‹ First Business Profile:`);
          const firstBusiness = jsonData[0];
          console.log(`   Name: ${firstBusiness.businessName}`);
          console.log(`   Type: ${firstBusiness.businessType}`);
          console.log(`   isPublic: ${firstBusiness.isPublic}`);
          console.log(`   Lawyers: ${firstBusiness.lawyers?.length || 0}`);
          console.log(`   Firm Stats - Total Lawyers: ${firstBusiness.firmStats?.totalLawyers || 0}`);
          console.log(`   Firm Stats - Total Cases: ${firstBusiness.firmStats?.totalCases || 0}`);
          return; // Found working endpoint
        } else {
          console.log(`โš ๏ธ  No business profiles returned or empty array`);
        }
      } catch (parseError) {
        console.log(`โŒ Failed to parse JSON: ${parseError.message}`);
        console.log(`๐Ÿ“„ Raw Response (first 500 chars):`);
        console.log(result.data.substring(0, 500));
      }

    } catch (error) {
      console.log(`โŒ Error: ${error.message}`);
    }
  }

  console.log(`\nโŒ No working endpoints found`);
}

main().catch(console.error); 

CasperSecurity Mini