반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 수학
- Nestjs
- Node.js
- ip
- BFS
- 자바스크립트
- Algorithm
- 그래프
- 프로그래머스
- 백준
- typescript
- 프로그래머스 레벨 2
- dp
- 알고리즘
- TCP
- 가천대
- 타입 챌린지
- 타입스크립트
- HTTP 완벽 가이드
- type challenge
- 쉬운 문제
- 문자열
- 소켓
- Crawling
- HTTP
- 크롤링
- 레벨 1
- dfs
- javascript
- socket
Archives
- Today
- Total
kakasoo
You provided an invalid object where a stream was expected. 본문
프로그래밍/NestJS
You provided an invalid object where a stream was expected.
카카수(kakasoo) 2023. 2. 24. 00:57반응형
import { Injectable, NestInterceptor, ExecutionContext, CallHandler, RequestTimeoutException } from '@nestjs/common';
import { Observable, throwError, TimeoutError } from 'rxjs';
import { catchError, timeout } from 'rxjs/operators';
@Injectable()
export class TimeoutInterceptor implements NestInterceptor {
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
return next.handle().pipe(
timeout(5000),
catchError((err) => {
if (err instanceof TimeoutError) {
return throwError(() => new RequestTimeoutException());
}
return throwError(() => err);
}),
);
}
}
RxJS와 Nest 에러로 생각하여 한 참을 헤맸다.
throw 3, throw Error(), throw BadRequestException(), 어떤 걸 던져도 에러가 나는 시점에 눈치챈 것은, 이게 interceptor에서 발생했을 거란 점이다.
그래서 appModule의 providers를 보고 하나씩 지워가면서 테스트해보니 timeoutInterceptor가 있고 없고가 문제였다.
에러는 여기 있었다.
return throwError(parameter); 의 형태에서 throwError를 지워버려서 발생한 에러였다.
위 코드는 정상적으로 동작하는 예시다.
반응형
'프로그래밍 > NestJS' 카테고리의 다른 글
Nestia TypeError 확인하기 (0) | 2023.03.01 |
---|---|
Nestia Comment Tags (0) | 2023.03.01 |
Nestia 적용하기 (1) | 2023.02.19 |
동일한 400 코드에 대해서 스웨거 에러 스키마 작성하기 (0) | 2023.02.05 |
NestJS에서 S3로 이미지 업로드하기 (0) | 2023.01.31 |