Request: self._qs์—์„œ unescape()๊ฐ€ ์—†์œผ๋ฉด ์ธ์ฆ ์š”์ฒญ์ด ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2015๋…„ 06์›” 01์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: request/request

" http://user:[email protected] "๊ณผ ๊ฐ™์€ http ๊ธฐ๋ณธ ์ธ์ฆ ์ž๊ฒฉ ์ฆ๋ช…์ด ์žˆ๋Š” GET ์š”์ฒญ์€ "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) 
  }

Querystring.prototype.unescape ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ „์—ญ unescape() ๋˜๋Š” decodeURIComponent ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ: ์ „์ž 0.27.2(ํฌ๋กฌ 43)

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” unescape๊ฐ€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์— ์ฃผ๋ชฉํ•ฉ๋‹ˆ๋‹ค. ( ์ฐธ์กฐ )
๊ฒฐ๊ณผ์ ์œผ๋กœ self._qs.unescape(item)๋Š” decodeURI(item)๋กœ ๋Œ€์ฒด๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  4 ๋Œ“๊ธ€

๊ทธ๊ฒƒ์€ https://github.com/request/request/pull/1600 ๊ณผ ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๊ฒŒ ์–ด๋–ป๊ฒŒ ๊ฐ€๋Šฅํ•œ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์ปจํ…์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฒ„๊ทธ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ์งง์€ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

Browserify์—์„œ ์ œ๊ณตํ•˜๋Š” "querystring" ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” 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 ์ „์ž์—์„œ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ์—ฌ์ „ํžˆ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ

๋‚˜๋Š” unescape๊ฐ€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์— ์ฃผ๋ชฉํ•ฉ๋‹ˆ๋‹ค. ( ์ฐธ์กฐ )
๊ฒฐ๊ณผ์ ์œผ๋กœ self._qs.unescape(item)๋Š” decodeURI(item)๋กœ ๋Œ€์ฒด๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰