Node.jsサイト(Express上に構築)をHerokuに移行しましたが、アプリケーションエラーの場合、Herokuは、アプリが返すものではなく、カスタムエラーページを表示します。
Expressはすでにそれを行うメカニズムを提供しており、私のアプリはそれを行うので、そうしないようにしたいと思います。アプリが返すものをすべて使用するようにHerokuに指示することはできますか?
これを好む理由の1つの例は、アプリのエラーページでログイン状態またはログアウト状態を適切に表示できるためです。これは、S3などの静的ページでは表示できませんでした。もう1つの例は、私のアプリが実際には正確な5xxステータスコードに基づいて異なるページを表示するのに対し、Herokuはすべての5xxコードを同じように扱うことです。
編集:別の特に注目すべき例を考えてみましょう:私たちのアプリはすべてのエラーインスタンスに対して一意のIDを作成し、そのIDをエラーページでユーザーに表示します。これにより、ユーザーが私たちに連絡した場合、その正確なエラーインスタンスを検索できます。ログ。静的ページではそれを行うことはできません。
Herokuはステータスコードを介してのみエラーを検出するので、エラーが発生した場合は200を返送できます。しかし、それは間違っているようです。たとえば、404の場合は200を返送しません。(考えてみると、HerokuのREST APIは5xxのJSONをどのように返すのでしょうか?HerokuのカスタムエラーページがHTML応答のみをオーバーライドすることを願っていますか?)
前もって感謝します!