#!/usr/bin/env bare
require('bare-node-runtime/global')
require('bare-node-runtime/imports')
const http = require('bare-http1')
console.log('🍐 Testing Pear HTTP server binding...')
const server = http.createServer((req, res) => {
res.end('Hello from Pear!')
})
server.on('error', (err) => {
console.log('❌ Server error:', err)
Pear.exit(1)
})
const PORT = Pear.config.args[0] || 3007
server.listen(PORT, 'localhost', () => {
console.log('✅ Listen callback fired')
console.log(' server.listening:', server.listening)
console.log(' server._error:', server._error)
console.log(' server.address():', server.address())
console.log('\n🔍 Testing if port is ACTUALLY bound...')
setTimeout(() => {
const testReq = http.request({ host: 'localhost', port: PORT }, (res) => {
console.log('✅ SUCCESS - Port IS bound!')
Pear.exit(0)
})
testReq.on('error', (err) => {
console.log('❌ FAIL - Port NOT bound:', err.message)
Pear.exit(1)
})
testReq.end()
}, 500)
})