Google Chrome で Node.js サーバーからブラウザにスクリプトを送信すると、次の警告が表示されます。
リソースはスクリプトとして解釈されますが、MIME タイプ text/plain で転送されます
Google で検索したところ、サーバー側の問題であることがわかりました。つまり、送信する前に、正しい MIME タイプを設定する必要があると思います。HTTP サーバーのハンドラーは次のとおりです。
var handler = function(req, res)
{
url = convertURL(req.url); //I implemented "virtual directories", ignore this.
if (okURL(url)) //If it isn't forbidden (e.g. forbidden/passwd.txt)
{
fs.readFile (url, function(err, data)
{
if (err)
{
res.writeHead(404);
return res.end("File not found.");
}
//I think that I need something here.
res.writeHead(200);
res.end(data);
});
}
else //The user is requesting an out-of-bounds file.
{
res.writeHead(403);
return res.end("Forbidden.");
}
}
質問:サーバー側のコードを修正して、MIME タイプを正しく構成するにはどうすればよいですか?
(注:すでにhttps://github.com/broofa/node-mimeを見つけましたが、MIMEタイプを「設定」するのではなく、決定することしかできません。)