0

羽毛クライアントを使用して要求/応答インターセプターを実装しようとしています。

目的は、グローバル メタデータをリクエストに追加し、レスポンス ボディを削除することです。追加応答インターセプターを使用して、グローバル エラー ハンドラーを実装したいと考えています。

フックを見ましたが、after*エラーが発生するとフックが実行されないようです。

feathersclient()
  ...
  .configure(function() {
      const app = this;
      app.mixins.push(function(service) {
        service.before(function(hook) {
          console.log('SENT', service.path, hook);
          return hook;
        });
        service.after(function(hook) {
          // Never fired if req produces an error
          console.log('RECEIVE', service.path, hook);
          return hook;
        });
      });
  })
4

2 に答える 2

0

悲しいことに、送信メソッドにモンキーパッチを適用することによってのみ解決できました。

    app.mixins.push(function(service) {
      // monky patch send() to fetch errors
      const oldSend = service.send;
      service.send = function(...args) {
        return oldSend.apply(service, args)
          .catch(e => {
            console.log('ERR', e);
            throw e; // re-throw error
          });
      };
    });
于 2016-10-11T15:44:03.107 に答える