title: NestJS HttpService All Method API Call is not working when Interceptor is used
body: <p>NestJS API App use HttpService to call Another API and It works when no custom interceptor is used.
  The HttpService API call is executed but it is not reached to another API and could not see the response.</p>
  
  <p>This is get call code</p>
  
  <pre><code>
   get(path: string, body: any = {}): Observable&lt;AxiosResponse&lt;any&gt;&gt; {
      console.log('DomainAPI Response Begining');
      const url = this.baseURL + path;
      this.updateLastUtilizedTimestamp();
      return this.httpService.get(url, { validateStatus: null }).pipe(
        tap(data =&gt; {
          console.log('DomainAPI Response Tap', data);
        }),
        retryWhen(
          this.rxJSUtilsService.genericRetryStrategy({
            numberOfAttempts: 3,
            delayTime: 200,
            ignoredErrorCodes: [500],
          }),
        ),
        catchError(this.formatErrors),
      );
    }
  
  </code></pre>
  
  <p>if any custom interceptor is used, I found the following when debug. </p>
  
  <pre><code>arguments:TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them
  
  </code></pre>
  
  <p>The Postman shows the following response.</p>
  
  <pre><code>{
      "statusCode": 500,
      "message": {
          "Title": "TypeError",
          "Type": "Error",
          "Detail": "Converting circular structure to JSON\n    --&gt; starting at object with constructor 'Observable'\n    |     property 'operator' -&gt; object with constructor 'CatchOperator'\n    --- property 'caught' closes the circle",
          "Status": "Status",
          "Extension": ""
      },
      "timestamp": "Exception - AllExceptionsFilter 2019-12-26T17:29:42.447Z"
  }
  </code></pre>
  
  <p>I changed the above as below but still it is not working</p>
  
  <pre><code>
  get(path: string, body: any = {}) {
      console.log('DomainAPI Response Begining');
      const url = this.baseURL + path;
      this.updateLastUtilizedTimestamp();
      return this.httpService.get(url, { validateStatus: null }).pipe(
        map(response =&gt; {
          console.log('DomainAPI Response Tap', response.data);
          return response.data;
        }),
      );
    }
  
  </code></pre>
  
  <p>It gives the following response in the postman</p>
  
  <pre><code>
  {
      "data": {
          "_isScalar": false,
          "source": {
              "_isScalar": false,
              "source": {
                  "_isScalar": false
              },
              "operator": {}
          },
          "operator": {}
      }
  }
  
  </code></pre>
  
  <p>Please advise</p>