http рдореВрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреИрд╕реЗ " http://user:[email protected] " рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ "self._qs.unescape рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ"ред
рдпрд╣ рддреНрд░реБрдЯрд┐ request.js рдореЗрдВ рд╣реЛрддреА рд╣реИ:
if (self.uri.auth && !self.hasHeader('authorization')) {
var uriAuthPieces = self.uri.auth.split(':').map(function(item) {return self._qs.unescape(item)})
self.auth(uriAuthPieces[0], uriAuthPieces.slice(1).join(':'), true)
}
рд╡реИрд╢реНрд╡рд┐рдХ unescape()
рдпрд╛ decodeURIComponent
$ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Querystring.prototype.unescape
рдХреЛ рдмрджрд▓рдирд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред
рдкрд░реНрдпрд╛рд╡рд░рдг: рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди 0.27.2 (рдХреНрд░реЛрдо 43)
рдпрд╣ https://github.com/request/request/pull/1600 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди tbh рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдореБрдЭреЗ рдФрд░ рд╕рдВрджрд░реНрдн рдЪрд╛рд╣рд┐рдП, рдХреНрдпрд╛ рдЖрдк рдПрдХ рдЫреЛрдЯрд╛ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрд╕ рдмрдЧ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ?
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Browserify рджреНрд╡рд╛рд░рд╛ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЧрдИ "рдХреНрд╡реЗрд░реАрд╕реНрдЯреНрд░рд┐рдВрдЧ" рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ querystring.unescape
рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╕рдВрджрд░реНрдн:
https://github.com/substack/node-browserify/issues/826
https://github.com/mike-spainhower/querystring/issues/4
https://github.com/Gozala/querystring/issues/6
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдХрд┐рд╕реА рдмрдЧ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред
@andornaut рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдЗрд╕реЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдкрд░ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП? рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ
рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдирд╕реНрдХреЗрдк рдкрджрд╛рд╡рдирдд рд╣реИ: ( рд╕рдВрджрд░реНрдн )
рдлрд▓рд╕реНрд╡рд░реВрдк self._qs.unescape(item) рдХреЛ decodeURI(item) рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдирд╕реНрдХреЗрдк рдкрджрд╛рд╡рдирдд рд╣реИ: ( рд╕рдВрджрд░реНрдн )
рдлрд▓рд╕реНрд╡рд░реВрдк self._qs.unescape(item) рдХреЛ decodeURI(item) рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП