Em seguida, transformamos o servidor para que o manipulador de solicitação possa retornar algumas informações significativas.
Vamos ver como implementá -lo:
1. Deixe o manipulador de solicitação retornar diretamente (retornar ()) as informações que desejam exibir ao usuário através da função OnRequest.
2. Vamos começar deixando o manipulador de solicitação retornar as informações que precisam ser exibidas no navegador.
Precisamos modificar o requestHandler.js para o seguinte formulário:
A cópia do código é a seguinte:
função start () {
console.log ("Solicitação Handler 'Start' foi chamado.");
retornar "Hello Start";
}
função upload () {
console.log ("O manipulador de solicitação 'upload' foi chamado.");
retornar "Hello upload";
}
exports.start = start;
exports.upload = upload;
Da mesma forma, o roteamento de solicitação requer as informações retornadas pelo manipulador de solicitação para o servidor.
Portanto, precisamos modificar o Router.js para a seguinte forma:
A cópia do código é a seguinte:
Rota da função (identificador, nome do caminho) {
console.log ("prestes a rotear uma solicitação de" + pathname);
if (typeof handle [pathname] === 'function') {
Retornar Handle [PathName] ();
} outro {
console.log ("Nenhum manipulador de solicitação encontrado para" + pathname);
retornar "404 não encontrado";
}
}
exports.Route = rota;
Conforme mostrado no código acima, quando a solicitação não pode ser roteada, também retornamos algumas mensagens de erro relacionadas.
Por fim, precisamos refatorar nosso servidor.js para permitir que ele responda ao conteúdo retornado pelo manipulador de solicitação através da rota de solicitação para o navegador, como mostrado abaixo:
A cópia do código é a seguinte:
var http = requer ("http");
var url = requer ("url");
Função Iniciar (Rota, Handle) {
função onRequest (solicitação, resposta) {
var pathname = url.parse (request.url) .pathname;
console.log ("Solicitação de" + Pathname + "Recebido.");
Response.writehead (200, {"content-type": "text/plana"});
var content = rota (identificador, nome do caminho);
resposta.write (content);
resposta.END ();
}
http.createServer (onRequest) .Listen (8888);
console.log ("O servidor começou");
}
exports.start = start;
Se executarmos o aplicativo refatorado:
Solicite http: // localhost: 8888/Iniciar, o navegador será lançado "Hello Start".
Solicitando http: // localhost: 8888/upload será lançado "Hello upload".
Ao solicitar http: // localhost: 8888/foo, ele produzirá "404 não encontrado".
Isso é bom, e aprenderemos sobre um conceito na próxima seção: operações de bloqueio.