Xpoint
   [напомнить пароль]

XMLHttpRequest: POST-данные не в UTF-8 и XULRunner 1.9a

2007-05-18 01:04:26 [обр] Kirill [досье]

Отправляю запрос через XMLHttpRequest методом POST, запрос имеет тип multipart/form-data. Понятно, что для корректной обработки на сервере надо задать правильный заголовок:

xmlhttp.setRequestHeader("Content-type","multipart/form-data; boundary=----someboundary");

C версией XULRunner 1.8.1 все замечательно. В версии 1.9а - беда. К концу заголовка самопроизвольно дописывается ';charset=UTF-8'.
Без пробела. Непонятно нафига. В результате POST на сервере не образуется (просто игнорируется, не то что multipart, даже POST_RAW_DATA отсутствует).
К тому же эта строка с charsetom добавляется в любой Content-type, даже если я хочу указать кодировку, отличную от UTF - получаю 2 charseta.
Очень похоже на баг, в багзилле на сей счет ничего нет. Кто-нибудь может посоветовать, как вылечить ?

спустя 1 час 13 минут [обр] Kirill [досье]
Ситуация вылечилась добавлением обсервера с топиком "http-on-modify-request". Но вопрос о том, баг таое поведение по умолчанию или нет, остается открытым :(
спустя 14 дней [обр] Владимир Палант [досье]
Это в bug 362043 сделали. Спрошу, что они себе представляют для multipart/form-data.
спустя 1 месяц 5 дней [обр] Владимир Палант [досье]
Поздно, конечно, но: представляют они себе, что из JavaScript строки либо будут посылаться в UTF-8, либо прогоняться через nsIScriptableUnicodeConverter.convertToInputStream(). Некоторые изменения внесли, но псевдо-юникодовые строки, на самом деле содержащие данные в других кодировках, окончательно отбраковали как извращение.
Powered by POEM™ Engine Copyright © 2002-2005