[解決済み] Express.js - ヘッダーが既に送信されているかどうかを確認するには?
2023-06-15 07:03:24
質問
ヘッダを設定するライブラリを書いています。Node.jsが出す "Can't set headers after they are sent" というメッセージで失敗させるのではなく、ヘッダーが既に送信されている場合に独自のエラーメッセージを出したいのです。では、ヘッダーがすでに送信されているかどうかを確認するにはどうすればよいのでしょうか?
どのように解決するのですか?
EDIT: express 4.xでは、res.headersSentを使用する必要があります。また、res.send()の呼び出しの直後にtrueに設定されないので、チェックする前にsetTimeoutを使用したいかもしれないことに注意してください。 ソース
シンプルですね。ConnectのResponseクラスは、パブリックプロパティ "headerSent"を提供します。
res.headerSent
はブール値で、ヘッダがすでにクライアントに送信されているかどうかを示します。
ソースコードから
/**
* Provide a public "header sent" flag
* until node does.
*
* @return {Boolean}
* @api public
*/
res.__defineGetter__('headerSent', function(){
return this._header;
});
https://github.com/senchalabs/connect/blob/master/lib/patch.js#L22
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] Node.js上のExpress.jsでGET(クエリ文字列)変数を取得する方法とは?
-
[解決済み] エラーが発生しました。クライアントに送信された後にヘッダーを設定できない
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】Node.jsとExpressを使用してPOSTするときに、リクエストボディにアクセスするにはどうすればよいですか?
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラーが発生しました。クライアントに送信された後にヘッダーを設定できない
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] ECMAScriptとは?
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] イテレータでmap()を使用する
-
[解決済み] JavaScript で `throw` の後に `return` をする必要がありますか?