dunmaksim
@dunmaksim
Технический писатель

Можно ли и как расширить конструктор XMLHttpRequest?

Здравствуйте!
Обнаружил, что команда AngularUI реализовала плагин для загрузки файлов - ui.upload. Плагин, определённо, хороший, но в теле использует вместо $http обычный XMLHttpRequest. Это не так уж плохо, но возникли проблемы с Django REST Framework, т.к. в указанном случае установка CSTFToken на этапе старта приложения не имеет никакого эффекта:
Application.run(['$http', '$cookies', function($http, $cookies) {
    var token = $cookies.csrftoken;
    $http.defaults.headers.common['X-CSRFToken'] = token;
    $http.defaults.headers.post['X-CSRFToken'] = token;
}]);

Django REST Framework ожидает в заголовке параметр X-SCRFToken, не находит его и выдаёт ошибку. Я создал Issue на GitHub, но время реализации неизвестно.
Провайдера у данного модуля тоже нет, а изменение свойства options не имеет никакого эффекта.
В результате у меня появилась идея - "А почему бы не переопределить стандартный конструктор XMLHttpRequest таким образом, чтобы там уже были установлены нужные заголовки?"
Я знаю, что расширять встроенные классы - ОЧЕНЬ плохая идея.
Я знаю, что лучше дождаться обновления плагина.
Вопрос носит чисто теоретический характер, вряд ли я буду использовать решение в реальной работе.
  • Вопрос задан
  • 190 просмотров
Решения вопроса 1
miraage
@miraage
Старый прогер
Самый нормальный аплоадер на angular.

https://github.com/danialfarid/ng-file-upload
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект