DAPATKAN permintaan dengan kredensial otentikasi dasar http seperti " http://user:[email protected] " gagal dengan kesalahan "self._qs.unescape is not a function".
Kesalahan ini terjadi di 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)
}
Mengubah Querystring.prototype.unescape
untuk menggunakan unescape()
atau decodeURIComponent
global muncul untuk mengatasi masalah ini.
Lingkungan: Elektron 0.27.2 (krom 43)
Itu mungkin terkait dengan https://github.com/request/request/pull/1600 tapi tbh saya tidak melihat bagaimana itu mungkin. Saya membutuhkan lebih banyak konteks, dapatkah Anda memberikan contoh kode pendek yang mereproduksi bug itu?
Tampaknya pustaka "string kueri" yang disediakan oleh Browserify tidak menyertakan querystring.unescape
dan oleh karena itu tugas ini tidak berfungsi seperti yang diharapkan.
Referensi:
https://github.com/substack/node-browserify/issues/826
https://github.com/mike-spainhower/querystring/issues/4
https://github.com/Gozala/querystring/issues/6
Saya menutup masalah ini karena tampaknya tidak disebabkan oleh bug di perpustakaan ini.
@andornaut apakah Anda menemukan cara memperbaikinya di elektron? saya masih mendapatkan kesalahan ini
Saya perhatikan bahwa unescape sudah usang: ( referensi )
akibatnya self._qs.unescape(item) harus diganti dengan decodeURI(item)
Komentar yang paling membantu
Saya perhatikan bahwa unescape sudah usang: ( referensi )
akibatnya self._qs.unescape(item) harus diganti dengan decodeURI(item)