<p>request.get이 "헀더 λ‚΄μš©μ— 잘λͺ»λœ λ¬Έμžκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€"와 μΆ©λŒν•©λ‹ˆλ‹€.</p>

에 λ§Œλ“  2016λ…„ 03μ›” 08일  Β·  20μ½”λ©˜νŠΈ  Β·  좜처: request/request

이 μ‹œλ„:

require('request').get('http://www.test.com/אבגד.pdf');

λͺ‡ λ°€λ¦¬μ΄ˆ 후에 TypeError('The header content contains invalid characters') 와 μΆ©λŒν•©λ‹ˆλ‹€.

이제 encodeURI 감싸면 μ„±κ³΅ν•©λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ μ™ΈλΆ€ μ†ŒμŠ€μ—μ„œ URL을 μˆ˜μ‹ ν•˜λ©΄ 인코딩될 μˆ˜λ„ 있고 그렇지 μ•Šμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό μ²˜λ¦¬ν•˜λŠ” λ‚΄μž₯ λ©”μ»€λ‹ˆμ¦˜μ΄ μžˆμŠ΅λ‹ˆκΉŒ? ( encodeURI(decodeURI(url)) )

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ¬Έμ œλŠ” 이것을 μˆ˜μ •ν•˜λŠ” 것은 μ‰½μ§€λ§Œ request λŠ” 였λ₯˜λ₯Ό μž‘μ•„μ„œ 였λ₯˜ 처리기λ₯Ό 톡해 μ „νŒŒν•΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. ν˜„μž¬ 이것은 μˆ˜λ™μœΌλ‘œ μ‹œλ„/μΊμΉ˜ν•  수 μ—†κΈ° λ•Œλ¬Έμ— 볡ꡬ할 수 μ—†λŠ” κ½€ λ‚˜μœ μ„œλ²„ μΆ©λŒμ„ μΌμœΌν‚¬ 수 μžˆλŠ” ν¬μ°©λ˜μ§€ μ•Šμ€ μ˜ˆμ™Έλ‘œ λ°œμƒν•©λ‹ˆλ‹€.

κ·Έλž˜μ„œ μ €λŠ” 이것이 request μ—μ„œ κ½€ μ‹¬κ°ν•œ 버그라고 λ§ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 였λ₯˜λ₯Ό μ „νŒŒν•΄μ•Ό ν•©λ‹ˆλ‹€.

λͺ¨λ“  20 λŒ“κΈ€

λ˜ν•œ - λ‚˜λŠ” κ·Έ μ˜ˆμ™Έλ₯Ό μž‘μ„ 방법을 찾지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. try-catch이든 .on('error', ... 이든 상관없이

Node 버전 0.12.12 이상을 μ‚¬μš©ν•˜μ—¬ λ™μΌν•œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. λ™μΌν•œ μ½”λ“œκ°€ 0.12.9μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

_http_outgoing.js:355
      throw new TypeError('The header content contains invalid characters');
            ^
TypeError: The header content contains invalid characters
    at ClientRequest.OutgoingMessage.setHeader (_http_outgoing.js:355:13)
    at new ClientRequest (_http_client.js:101:14)
    at Object.exports.request (http.js:49:10)
    at Object.exports.request (https.js:136:15)
    at Request.start (//application/node_modules/request/request.js:747:30)
    at Request.end (/application/node_modules/request/request.js:1381:10)
    at end (/application/node_modules/request/request.js:575:14)
    at Immediate._onImmediate (/application/node_modules/request/request.js:589:7)
    at processImmediate [as _immediateCallback] (timers.js:367:17)

제 κ²½μš°μ—λŠ” 쿠킀에 쀄 λ°”κΏˆμ„ 보내고 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 그것을 μ œκ±°ν•΄μ•Όν–ˆλ‹€.

μ•„λ‹ˆμš”, 제 κ²½μš°λŠ” 쿠킀도 μΆ”κ°€ 헀더도 μ—†λŠ” κ°„λ‹¨ν•œ ν•œ μ€„μ§œλ¦¬μž…λ‹ˆλ‹€.

λ‚΄ 계정 정보에 μ•‘μ„ΈμŠ€ν•˜λ €κ³  ν•  λ•Œ https://github.com/matt-major/do-wrapperλ₯Ό μ‚¬μš©ν•˜μ—¬ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

_http_outgoing.js:348
    throw new TypeError('The header content contains invalid characters');
    ^

TypeError: The header content contains invalid characters
    at ClientRequest.OutgoingMessage.setHeader (_http_outgoing.js:348:11)
    at new ClientRequest (_http_client.js:85:14)
    at Object.exports.request (http.js:31:10)
    at Object.exports.request (https.js:197:15)
    at Request.start (/home/pierre/Documents/freelance/upwork/dosh/node_modules/do-wrapper/node_modules/request/request.js:746:30)
    at Request.write (/home/pierre/Documents/freelance/upwork/dosh/node_modules/do-wrapper/node_modules/request/request.js:1345:10)
    at end (/home/pierre/Documents/freelance/upwork/dosh/node_modules/do-wrapper/node_modules/request/request.js:560:16)
    at Immediate._onImmediate (/home/pierre/Documents/freelance/upwork/dosh/node_modules/do-wrapper/node_modules/request/request.js:588:7)
    at processImmediate [as _immediateCallback] (timers.js:383:17)

λ¬Έμ œλŠ” 이것을 μˆ˜μ •ν•˜λŠ” 것은 μ‰½μ§€λ§Œ request λŠ” 였λ₯˜λ₯Ό μž‘μ•„μ„œ 였λ₯˜ 처리기λ₯Ό 톡해 μ „νŒŒν•΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. ν˜„μž¬ 이것은 μˆ˜λ™μœΌλ‘œ μ‹œλ„/μΊμΉ˜ν•  수 μ—†κΈ° λ•Œλ¬Έμ— 볡ꡬ할 수 μ—†λŠ” κ½€ λ‚˜μœ μ„œλ²„ μΆ©λŒμ„ μΌμœΌν‚¬ 수 μžˆλŠ” ν¬μ°©λ˜μ§€ μ•Šμ€ μ˜ˆμ™Έλ‘œ λ°œμƒν•©λ‹ˆλ‹€.

κ·Έλž˜μ„œ μ €λŠ” 이것이 request μ—μ„œ κ½€ μ‹¬κ°ν•œ 버그라고 λ§ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 였λ₯˜λ₯Ό μ „νŒŒν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ‚˜λŠ” μ§€κΈˆ 이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 쒋은 2μ‹œκ°„μ„ νˆ¬μžν–ˆλŠ”λ°, μž¬μƒμ‚° ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό μž‘μ„±ν•˜λŠ” 것은 μ•„μ£Ό μ‚¬μ†Œν•œ μΌμ΄μ—ˆμŠ΅λ‹ˆλ‹€.
μ½”λ“œλ² μ΄μŠ€μ— λŒ€ν•œ ν˜„μž¬ μ§€μ‹μœΌλ‘œ https://github.com/request/caseless 에 μœ νš¨μ„± 검사λ₯Ό μΆ”κ°€ν•˜μ§€ μ•ŠλŠ” ν•œ κ³ μΉ  수 μ—†λ‹€λŠ” 결둠에 λ„λ‹¬ν–ˆμŠ΅λ‹ˆλ‹€. btw λ°œκ²¬ν•˜λŠ” 데 20-30뢄이 μ†Œμš”λ˜μ—ˆμŠ΅λ‹ˆλ‹€. self.setHeader . κ·Έ λ™μž‘μ€ caseless 에 λ¬Έμ„œν™”λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ©° 헀더 μ„€μ • 및 κ°€μ Έμ˜€κΈ°λ₯Ό μ²˜λ¦¬ν•˜λŠ” μ΄λ¦„μ—μ„œ λΆ„λͺ…ν•˜μ§€ μ•ŠμœΌλ©° caseless.httpify(self, self.headers) κ°€ setHeader 개체λ₯Ό μ›μˆ­μ΄ νŒ¨μΉ˜ν•  κ²ƒμœΌλ‘œ μ˜ˆμƒλ˜μ§€λ„ μ•ŠμŠ΅λ‹ˆλ‹€.

μš”μ²­ κ°œμ²΄κ°€ μƒμ„±λœ μ‹œμ μ˜ try/catch λŠ” 싀행을 쀑단할 수 μžˆλŠ” κ°„λ‹¨ν•œ 방법이 μ—†κΈ° λ•Œλ¬Έμ— 볡ꡬ가 거의 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. self.req.end λŠ” 계속 호좜되며 호좜이 제거되면 후속 λ™μž‘μ΄ νŠΈλ¦¬κ±°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€(λ‹€μ‹œ λ§ν•˜μ§€λ§Œ μ™„μ „νžˆ λͺ…ν™•ν•˜μ§€ μ•Šμ€ 이유둜).

μ†”μ§νžˆ λ§ν•΄μ„œ, λ‚΄ ν”„λ‘œλ•μ…˜ μ„œλΉ„μŠ€κ°€ 둜직이 λ„ˆλ¬΄ λ³΅μž‘ν•΄μ„œ try/catchμ—μ„œ 였λ₯˜λ₯Ό μ „νŒŒν•˜λŠ” κ²ƒλ§ŒνΌ μ‰¬μš΄ 것이 전체λ₯Ό 깊이 μ—°κ΅¬ν•˜μ§€ μ•Šκ³ λŠ” μ‹€μ§ˆμ μœΌλ‘œ λΆˆκ°€λŠ₯ν•œ 1.4k 라인 메인 파일이 μžˆλŠ” λΌμ΄λΈŒλŸ¬λ¦¬μ— μ˜μ‘΄ν•œλ‹€λŠ” 것이 λ‘λ ΅μŠ΅λ‹ˆλ‹€. 이벀트의 루브 κ³¨λ“œλ²„κ·Έ 기계. 이제 이 λ¬Έμ œμ—μ„œ λ²—μ–΄λ‚˜μ•Ό ν•  λ•Œμž…λ‹ˆλ‹€.

이것은 더 μ—„κ²©ν•œ 헀더 μœ νš¨μ„± 검사가 μžˆλŠ” λ…Έλ“œ 5.6.0 이상에도 영ν–₯을 μ€λ‹ˆλ‹€. https://github.com/nodejs/node/blob/v5.6.0/CHANGELOG.md

μ—¬κΈ°μ—μ„œ μˆ˜μ •λ¨ https://github.com/request/request/pull/2164

μ½”λ“œμ—μ„œ 였λ₯˜λ₯Ό μ²˜λ¦¬ν•˜λŠ” 방법에 λŒ€ν•œ ν…ŒμŠ€νŠΈλ₯Ό μ‚΄νŽ΄λ³΄μ‹­μ‹œμ˜€.

.on('error', ... μ΄λ²€νŠΈμ™€ ν•¨κ»˜ 였λ₯˜ μ²˜λ¦¬κ°€ ν‰μ†Œμ™€ 같은 것 κ°™μŠ΅λ‹ˆλ‹€. 쒋은!

μ΄λ ‡κ²Œ ν•˜λ©΄ λ―Έλž˜μ— 어리석은 일에 앱이 μΆ©λŒν•˜μ§€ μ•Šκ³  request λ”μš± κ°•λ ₯ν•˜κ²Œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

κΈ€μŽ„, μ§€κΈˆ λ‚˜λŠ” μ—„μ²­λ‚˜κ²Œ 어리석은 멍청이처럼 λŠκ»΄μ§„λ‹€.
μ‹€μ œλ‘œ λ™μΌν•œ μ†”λ£¨μ…˜μ΄ μ€€λΉ„λ˜μ–΄ μžˆμ—ˆκ³  ν…ŒμŠ€νŠΈκ°€ 계속 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.
λ‚΄ 'μ‚¬μ†Œν•œ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€'μ—μ„œ t.end() μ „ν™”ν•˜λŠ” 것을 μžŠμ—ˆμŠ΅λ‹ˆλ‹€.

μ£„μ†‘ν•©λ‹ˆλ‹€. λ‹€μŒ λ²ˆμ— λ‚΄ 지점을 κ²Œμ‹œν•˜κ³  ν”Όλ“œλ°±μ„ μš”μ²­ν•  κ²ƒμž…λ‹ˆλ‹€.

@TimBeyer 문제 μ—†μŠ΅λ‹ˆλ‹€. 버전 2.71이 μˆ˜μ • 사항과 ν•¨κ»˜ κ²Œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. +1:

@simov 버전 2.71은 λΆ€λΆ„μ μœΌλ‘œ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ κ²Œμ‹œλ¬Ό μš”μ²­μ„ 보내고 데이터λ₯Ό 청크둜 κ°€μ Έμ˜€λŠ” μ‹œλ‚˜λ¦¬μ˜€μž…λ‹ˆλ‹€.

request({
              method: 'POST',
              headers: {
                 'test': 'אבגד'
              },
              uri: apiUrl,
              qs: req.query,
              json: req.body,
              gzip: true
            }
            , function(error, response, body) {
               console.log('callback')
            })
            .on('response', function (response) {
             console.log(response)
            })
            .on('error', function (err) {
              console.log(err);
            });

이것을 μ‹€ν–‰ν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€

return self.req.write.apply(self.req, arguments)
                 ^

TypeError: Cannot read property 'write' of undefined
    at Request.write (/Users/muhammadkhurrumqureshi/Workspace/www/node_modules/request/request.js:1385:18)
    at end (/Users/muhammadkhurrumqureshi/Workspace/www/node_modules/request/request.js:565:18)
    at Immediate._onImmediate (/Users/muhammadkhurrumqureshi/Workspace/www/node_modules/request/request.js:594:7)
    at processImmediate [as _immediateCallback] (timers.js:383:17)

이것에 λŒ€ν•΄ μΉœμ ˆν•˜κ²Œ λ„μ™€μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?

@khurrumqureshiλŠ” https://github.com/request/request/pull/2165 :+1μ—μ„œ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

기본적으둜 end 방법과 λ™μΌν•œ κ²€μ‚¬μž…λ‹ˆλ‹€. κ·Έ μ΄μœ λŠ” start κ°€ 이전 ν–‰μ—μ„œ 호좜되고 있고 μ§€κΈˆκΉŒμ§€ 던질 κ²ƒμœΌλ‘œ μ˜ˆμƒλ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. μš”μ²­μ— λ³Έλ¬Έ write 이 있으면 end 전에 ν˜ΈμΆœλ˜λ―€λ‘œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

@simov : +1:

여기도 λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€.

TypeError: The header content contains invalid characters
    at ClientRequest.OutgoingMessage.setHeader (_http_outgoing.js:348:11)
    at new ClientRequest (_http_client.js:85:14)
    at Object.exports.request (http.js:31:10)
    at Object.exports.request (https.js:199:15)
    at Request.start (/home/mymodule/node_modules/request/request.js:744:32)
    at Request.end (/home/mymodule/node_modules/request/request.js:1433:10)
    at end (/home/mymodule/node_modules/request/request.js:566:14)
    at Immediate.<anonymous> (/home/mymodule/node_modules/request/request.js:580:7)
    at runCallback (timers.js:570:20)
    at tryOnImmediate (timers.js:550:5)

응닡 ν—€λ”λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

headers:
      { 'x-backside-transport': 'OK OK,FAIL FAIL',
        connection: 'close',
        'transfer-encoding': 'chunked',
        'x-dp-local-file': 'true',
        'x-client-ip': '127.0.0.1,176.31.126.162',
        'x-global-transaction-id': '145630106',
        date: 'Tue, 08 Nov 2016 01:03:59 GMT',
        'www-authenticate': 'Basic realm="Gateway(Log-in)"',
        'x-archived-client-ip': '127.0.0.1',
        'content-type': '',
        'x-dp-tran-id': 'gateway' },
     rawHeaders:
      [ 'X-Backside-Transport',
        'OK OK,FAIL FAIL',
        'Connection',
        'close',
        'Transfer-Encoding',
        'chunked',
        'x-dp-local-file',
        'true',
        'X-Client-IP',
        '127.0.0.1,176.31.126.162',
        'X-Global-Transaction-ID',
        '145630106',
        'Date',
        'Tue, 08 Nov 2016 01:03:59 GMT',
        'WWW-Authenticate',
        'Basic realm="Gateway(Log-in)"',
        'X-Archived-Client-IP',
        '127.0.0.1',
        'Content-Type',
        '',
        'X-DP-Watson-Tran-ID',
        'gateway' ]

μš”μ²­ ν—€λ”λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

{ accept: 'application/json',
     authorization: 'Basic ...g==',
     referer: 'https://hostname.com/classify?text=%20So%20happy%20with%20this%20πŸ‘πŸ‘πŸ‘πŸ‘πŸ‘',
     host: 'gateway.myclass.net' }

λ³΄μ‹œλ‹€μ‹œν”Ό μš”μ²­μ—λŠ” <U+1F44D> 특수 λ¬Έμžκ°€ 3번 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

그게 λ¬Έμ œκ°€ μ•„λ‹κΉŒμš”?

node.js https λͺ¨λ“ˆμ΄ μ§€μ›ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‹€λ₯Έ μ‚¬λžŒμ΄ λ‚˜μ™€ 같은 문제λ₯Ό κ²ͺκ³  μžˆλŠ” 경우λ₯Ό λŒ€λΉ„ν•˜μ—¬ aws-sdk 이 였λ₯˜κ°€ λ°œμƒν–ˆκ³  λͺ‡ μ‹œκ°„ λ™μ•ˆ λ‚˜λ₯Ό 미치게 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. PrvScan 문자 \u001b[5~ λ°ν˜€μ‘ŒμœΌλ©°, μ΄λŠ” AWS μš”μ²­μ—μ„œ μ‚¬μš©ν•˜λŠ” Authorization ν—€λ”λ‘œ μ „νŒŒλœ λ‚΄ ~/.aws/credentials νŒŒμΌμ— μˆ¨μ–΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 이 였λ₯˜λŠ” λ‚΄ Windows 7 μ‹œμŠ€ν…œμ—μ„œλ§Œ λ‚˜νƒ€λ‚¬μœΌλ―€λ‘œ λ‚΄ AWS 계정 및 일뢀 Windows 문자 μΈμ½”λ”©μ—μ„œ 자격 증λͺ… νŒŒμΌμ„ κ²€μƒ‰ν•˜λŠ” 방법과 관련이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. cat 자격 증λͺ… νŒŒμΌμ„ μ‹€ν–‰ν•  λ•Œλ„ ν‘œμ‹œλ˜μ§€ μ•Šμ•˜μ§€λ§Œ vi νŒŒμΌμ„ μ—΄λ©΄ ν‘œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

예, 방금 같은 λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 인정해야 ν•œλ‹€λŠ” 것을 μ΄ν•΄ν•˜λŠ” 데 λͺ‡ μ‹œκ°„μ΄ κ±Έλ ΈμŠ΅λ‹ˆλ‹€.
Windows μ‹œμŠ€ν…œμ—μ„œ MINGW64(Git Bash)λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λͺ…λ Ή ν”„λ‘¬ν”„νŠΈμ—μ„œ λ…Έλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ λ™μΌν•œ 슀크립트λ₯Ό μ‹€ν–‰ν•΄ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.... 그리고 μ•ˆλ…•ν•˜μ„Έμš”.... μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€????

방금 같은 였λ₯˜κ°€ λ°œμƒν–ˆλŠ”λ° μž‘μ„ 방법을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. 이미지 ν”„λ‘μ‹œλ₯Ό ꡬ좕 μ€‘μ΄λ―€λ‘œ λ‹€λ₯Έ μ„œλ²„κ°€ λ°˜ν™˜ν•˜λŠ” λ‚΄μš©μ„ μ‹€μ œλ‘œ μ œμ–΄ν•  수 μ—†μŠ΅λ‹ˆλ‹€. ν”„λ‘œλ•μ…˜μ—μ„œ 전체 μ„œλ²„λ₯Ό μΊμ‹±ν•˜μ§€ μ•ŠμœΌλ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•©λ‹ˆκΉŒ?!

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ—ˆλŠ”λ° "set"을 "auth"둜 κ΅ν™˜ν•˜λ©΄ μž‘λ™ν•˜κΈ° μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

it('ERROR, Wrong GET request', (done)=>{
    request(server).get("/api/")
    .set('Authorization', 'Bearer ' + tokenKey)
    .then(res=>{
        expect(res.statusCode).to.equal(404);
        done()
    }).catch(err=>done(err))
})

CONSOLE RES: 였λ₯˜, 잘λͺ»λœ GET μš”μ²­:
TypeError [ERR_INVALID_CHAR]: 헀더 λ‚΄μš©μ— 잘λͺ»λœ λ¬Έμžκ°€ μžˆμŠ΅λ‹ˆλ‹€. ["Authorization"]

μ½”λ“œλ₯Ό λ‹€μŒκ³Ό 같이 λ³€κ²½ν•œ ν›„:

it('ERROR, Wrong GET request', (done)=>{
    request(server).get("/api/")
    .auth('Authorization', 'Bearer ' + tokenKey) //**<---here is the change**
    .then(res=>{
        expect(res.statusCode).to.equal(404);
        done()
    }).catch(err=>done(err))
})

μ½˜μ†” 해상도: OKI ;p

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰