Request: рд╕реНрд╡рдпрдВ рд╕реЗ unescape () рдЧреБрдо рд╣реИред_qs рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рдЬреВрди 2015  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: request/request

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)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдирд╕реНрдХреЗрдк рдкрджрд╛рд╡рдирдд рд╣реИ: ( рд╕рдВрджрд░реНрдн )
рдлрд▓рд╕реНрд╡рд░реВрдк self._qs.unescape(item) рдХреЛ decodeURI(item) рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ 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) рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Aranir picture Aranir  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

matrosov-nikita picture matrosov-nikita  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

crostine picture crostine  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Guymestef picture Guymestef  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ