No es tampoco excesivamente difícil entender que existe un cgi php que no es más que una aplicación php que recibe una entrada por parámetros y vuelca una salida por stdout con el php
procesado.
Dado esto y si no hubiera alternativas puedes usar un cgi php como una aplicación child. El procedimiento es muy sencillo y creo que no involucra un derrame cerebral:
1. Seleccionas el fichero php.
2. Bien lo abres extrayendo el contenido o bien simplemente almacenas el path.
3. Usas el módulo
child_process ejecutando el cgi con los parámetros correspondientes (mediante
spawn por ejemplo), o bien indicando el php explícitamente o bien indicando el path (ir al paso 2)
4. Spawn devuelve un objeto de tipo
ChildProcess , al cual se le agrega un listener a su objeto stdout a la espera de recibir datos mediante el evento data, cuyo primer parámetro contiene los datos
ChildProcess.stdout.on("data",function(data){
console.log("Y he aquí el htmlcito" + data);
})
Y listo.
También tengo que indicarte cómo volcarlo? Bien, una vez tengas la salida del cgi (data), dentro del callback, especificas al objeto response (el segundo parámetro del callback del
servidor http la cabecera especificando el TIPO DE CONTENIDO que va a devolver. Sí, aunque te parezca extraño, de ahí te descargaba el contenido, porque hace falta indicar que es html explícitamente. Existen dos cabeceras relacionadas, Content-Disposition y Content-Type, la primera indica la disposición y la segunda el tipo. También está Content-Transfer-Encoding, en fin, existen alternativas.
response.setHeader("Content-Type", "text/html");
Un saludo.