1.0.3 • Published 9 months ago

anully v1.0.3

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

Anully

(Standard v1.0.3)

Cuando se elabora un servidor de red mediante net.createServer(handlerServer) se necesita procesar de alguna manera las cabezeras del estandar HTTP (v1.1) y su cuerpo. El cuerpo que se recibe en el Strema Duplex llamado socket, que es el argumento principal de la función handlerServer, Anully tiene como misión procesar los datos de este Stream Duplex y convertirlo en un objeto reqObject para ser mejor manejado.

He aquí demostración:

import net from 'node:net';
import anully from 'anully';

function handler (socket) {
    let headersProccessing = true;
    socket.on('data', eventArg=> {
        if (headersProccessing) {
            // convert Buffer to object
            const obRequest = anully(eventArg);
           if (obRequest) {
                // typing headers..
                socket.write(
                    "HTTP/1.1 200 Ok\r\n" +
                    "content-type: text/html\r\n" +
                    `date: ${Date.now()}\r\n` +
                    "server: NS\r\n\r\n"
                );
                socket.write(`<h1 align="center">Your HTTP method is ${obRequest.method}</h1>`);
           }
           socket.end();
           headersProccessing = false;
        }
        else {
            // more datas from socket..
        }
    });
}
const SERVER = net.createServer(handler);

SERVER.listen(80, '127.0.0.3', function () {
    console.log(`http://${this.address().address}`);
});

La interfaz Anully es una función que procesa el buffer del Stream Duplex socket y luego retorna un objeto obRequest para ser mas cómodo la lectura de este.

Nota retornará false solo si no recibe un buffer procesable del estandar HTTP 1.1.

1.0.3

9 months ago

1.0.1

2 years ago

1.0.0

2 years ago