node.jsでjsdomを使用していて、httpエラーが発生したことを示すためにjsdomを取得しようとしています。すべてのリクエストに対してhttp500ヘッダーを返すだけのテストサーバーをセットアップしましたが、jsdomを使用してロードしようとすると、jsdomはエラーをスローせず、識別できる情報を提供しないようです。 http500エラーが返されたこと。http 500エラーを検出するための最良の方法は何ですか?
質問する
1412 次
1 に答える
8
jsdomはステータスコードをチェックしていないようです。500ステータスコードは、ノードのHTTPモジュールではエラーとは見なされないため、jsdomでは正しい応答と見なされます。
jsdomを使用する前にステータスコードを自分でテストし、応答の本文にjsdomを渡すことをお勧めします。
var jsdom = require('jsdom').jsdom;
var request = require('request'); //jsdom already uses request*
request("http://www.google.com/", function (err, response, body) {
if (!err && response.statusCode == 200) {
jsdom.env(body, function (errors, window) {
// your code
});
}
});
[*]リクエストモジュール:https ://github.com/mikeal/request
于 2012-10-20T20:34:41.480 に答える