1. 현상
request / http 로 외부 api 통신 시 응답 값 body 등 text 깨짐 오류
{
body: '\u001f�\b\u0000\u0000\u0000\u0000\u0000...'
}
2. 수정
본인은 request 를 사용하고 있어서 request option 값에 추가
const request = require('request')
const util = require('util')
const requestPromise = util.promisify(request)
options.headers = {
'Accept-Encoding': 'gzip', // 추가
'Content-Type': 'application/json;charset=UTF-8',
'gzip': true,
...options.headers
}
options.gzip = true // 추가
option.url = 'API주소'
return requestPromise(options)
.then(res => ({
statusCode: res.statusCode,
statusMessage: res.statusMessage,
headers: res.headers,
body: res.body
}))
3. 참고 사이트
1. https://github.com/getconversio/node-bigcommerce/issues/66
2. https://nodejs.org/api/zlib.html#zlib_compressing_http_requests_and_responses
3. https://www.npmjs.com/package/request#requestoptions-callback (gzip 부분)
'FRONT' 카테고리의 다른 글
[웹사이트 최적화] 사용하지 않는 스크립트 코드 없애기 (0) | 2021.01.22 |
---|---|
[vue-cli] html 컴파일에 캐쉬 기능 (Hash) 넣기 (0) | 2020.11.27 |