рдпреЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ:
require('request').get('http://www.test.com/╫Р╫С╫Т╫У.pdf');
рдХреБрдЫ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдпрд╣ TypeError('The header content contains invalid characters')
рд╕рд╛рде рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдЕрдм рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ encodeURI
рдореЗрдВ рд▓рдкреЗрдЯрддрд╛ рд╣реВрдВ - рдпрд╣ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдореЗрдВ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрдд рд╕реЗ url рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ - рддреЛ рд╡реЗ рдПрдиреНрдХреЛрдбреЗрдб рд╣реЛ рднреА рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирд╣реАрдВ рднреАред рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрдВрддреНрд░ рд╣реИ? ( encodeURI(decodeURI(url))
)
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ - рдореБрдЭреЗ рдЙрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХреЛрдИ рдХреЛрд╢рд┐рд╢ рд╣реИ, рдпрд╛ .on('error', ...
рдореБрдЭреЗ рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг 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
рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рдЧрдВрднреАрд░ рдмрдЧ рд╣реИред рддреНрд░реБрдЯрд┐ рдХреЛ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдЕрдм рдПрдХ рдЕрдЪреНрдЫрд╛ 2h рдирд┐рд╡реЗрд╢ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрдирд░реБрддреНрдкрд╛рджрди рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдерд╛ред
рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдбрдмреЗрд╕ рдХреЗ рдореЗрд░реЗ рд╡рд░реНрддрдорд╛рди рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рдпрд╣ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╕рддреНрдпрд╛рдкрди рдХреЛ https://github.com/request/caseless рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдиреЗ рдореБрдЭреЗ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдареЛрд╕ 20-30 рдорд┐рдирдЯ рдХреА рд▓рд╛рдЧрдд рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИ self.setHeader
ред рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рди рддреЛ caseless
рдкрд░ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рди рд╣реА рдпрд╣ рдирд╛рдо рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧ рдФрд░ рд╣реЗрдбрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдФрд░ рди рд╣реА рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ caseless.httpify(self, self.headers)
рдмрдВрджрд░ рд╡рд╕реНрддреБ рдХреЛ setHeader
рд╕рд╛рде рдкреИрдЪ рдХрд░реЗрдЧрд╛
try/catch
рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЬрд╣рд╛рдВ рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред self.req.end
рдХреЛ рдЕрднреА рднреА рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рдХреЙрд▓ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ рддреЛ рдмрд╛рдж рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рдлрд┐рд░ рд╕реЗ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП)ред
рдХреБрдВрдж рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдореБрдЭреЗ рдбрд░рд╛рддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рдЙрддреНрдкрд╛рджрди рд╕реЗрд╡рд╛рдПрдВ 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
рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рддреНрд░реБрдЯрд┐ред
@рд╕рд┐рдореЛрд╡ : +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' }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдиреБрд░реЛрдз рдореЗрдВ 3 рдЧреБрдирд╛ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг <U+1F44D>
ред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ node.js https
рдореЙрдбреНрдпреВрд▓ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдмрд╕ рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕ рд╡рд╣реА рдореБрджреНрджрд╛ рдерд╛ рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛ - рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ aws-sdk
рдФрд░ рдпрд╣ рдореБрдЭреЗ рдШрдВрдЯреЛрдВ рддрдХ рдкрд╛рдЧрд▓ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдПрдХ PrvScan
рд╡рд░реНрдг \u001b[5~
рдирд┐рдХрд▓рд╛ рдЬреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореЗрд░реА ~/.aws/credentials
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдерд╛, рдЬреЛ AWS рдЕрдиреБрд░реЛрдзреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╢реАрд░реНрд╖рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рддреНрд░реБрдЯрд┐ рдХреЗрд╡рд▓ рдореЗрд░реА рд╡рд┐рдВрдбреЛрдЬ 7 рдорд╢реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреА, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рдерд╛ рдХрд┐ рдореЗрд░реЗ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдЦрд╛рддреЗ рдФрд░ рдХреБрдЫ рд╡рд┐рдВрдбреЛрдЬ рдХреИрд░реЗрдХреНрдЯрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдлрд╝рд╛рдЗрд▓ рдХреИрд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ рдереАред рдпрд╣ рддрдм рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рдерд╛ рдЬрдм cat
рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдИ рдереА, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ vi
рд╕рд╛рде рдЦреЛрд▓рд╛ рддреЛ рдпрд╣ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрд╛ред
рд╣рд╛рдБ, рдмрд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдХреБрдЫ рдШрдВрдЯреЗ рд▓рдЧреЗ рдХрд┐ рдореБрдЭреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрди рдкрд░ MINGW64 (рдЧрд┐рдЯ рдмреИрд╢) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдореЗрдВ рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ .... рдФрд░ рд╣реИрд▓реЛ ... рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ ????
рдореИрдВрдиреЗ рдмрд╕ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдорд╛рд░рд╛ рдФрд░ рдЗрд╕реЗ рдкрдХрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдПрдХ рдЫрд╡рд┐ рдкреНрд░реЙрдХреНрд╕реА рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рджреВрд╕рд░рд╛ рд╕рд░реНрд╡рд░ рдХреНрдпрд╛ рд▓реМрдЯрд╛ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдкреВрд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рднреБрдирд╛рдиреЗ рд╕реЗ рдХреИрд╕реЗ рдмрдЪ рд╕рдХрддрд╛ рд╣реВрдБ?
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛, рдЬрдм рдореИрдВ "рд╕реЗрдЯ" рдХреЛ "рдСрде" рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
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))
})
рдХрдВрд╕реЛрд▓ RES: рддреНрд░реБрдЯрд┐, рдЧрд▓рдд рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐ [ERR_INVALID_CHAR]: рд╢реАрд░реНрд╖ рд▓реЗрдЦ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдЕрдорд╛рдиреНрдп рд╡рд░реНрдг ["рдкреНрд░рд╛рдзрд┐рдХрд░рдг"]
рдХреЛрдб рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж:
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))
})
рдХрдВрд╕реЛрд▓ рд░реЗрд╕: рдУрдХреЗрдЖрдИ; рдкреА
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдмрд╛рдд рдпрд╣ рд╣реИ, рдЬрдмрдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ,
request
рдХреЛ рддреНрд░реБрдЯрд┐ рдкрдХрдбрд╝рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕реЗ рдПрдХ рдмреЗрдЬреЛрдбрд╝ рдЕрдкрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдлреЗрдВрдХрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдЦрд░рд╛рдм рд╕рд░реНрд╡рд░ рдХреНрд░реИрд╢ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдХрднреА рднреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЖрдЬрд╝рдорд╛/рдкрдХрдбрд╝ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВредрддреЛ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣
request
рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рдЧрдВрднреАрд░ рдмрдЧ рд╣реИред рддреНрд░реБрдЯрд┐ рдХреЛ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред