O problema é que você está ligando
res.write("<p>Hello World</p>");
res.end();
Que envia a resposta de volta para o cliente. Depois de fazer isso, você não pode enviar mais dados. Você tenta fazer isso chamando
res.json()
em seu middleware, e é por isso que você deseja obter o erro que recebe; Remova AMBOS o
res.end
e res.write
linhas e deve funcionar.