Можно ли изменить корпус исходящего HTTP-запроса в дополнении Firefox?Javascript

Форум по Javascript
Anonymous
Можно ли изменить корпус исходящего HTTP-запроса в дополнении Firefox?

Сообщение Anonymous »

Я делаю дополнение Firefox, и мне нужно, чтобы он имел возможность изменять тела определенных исходящих HTTP-запросов. Инструкции по изменению заголовков легко доступны в собственной документации Mozilla, но это не то, что я ищу. На этой странице нет упоминания об изменении тела HTTP. Однако с помощью OnbeForesendHeaders вы не можете передать тело HTTP -запроса слушателю (функция, которая вызывается, когда это событие запускается), так что это не поможет.

Код: Выделить всё

onBeforeRequest
(Docs), с другой стороны, позволяет передавать тело слушателю. Тем не менее, нет упоминания о изменении тела. В нем упоминается только отмена и перенаправление запроса. Поэтому я предполагаю, что это также не может быть использовано для изменения корпусов запроса. Это хорошее место для прослушивания, если вы хотите отменить или перенаправить запрос. Я проверил это в веб -приложении Discord. < /P>
const text = "http mod test"

function replaceBody(details) {
let originalBody = details.requestBody.raw[0].bytes;
let encoder = new TextEncoder;
let decoder = new TextDecoder;

let jsonBody = JSON.parse(decoder.decode(originalBody));
jsonBody.content = text;
let newBody = encoder.encode(JSON.stringify(jsonBody));

return { requestBody: newBody }
}

browser.webRequest.onBeforeRequest.addListener(
replaceBody,
{urls: ["*://discord.com/api/v9/channels/*"]},
["blocking", "requestBody"]
);
< /code>
Так что это должно было заменить любое сообщение, которое я отправил на «http mod -тест», но это не так. Нет ошибок или предупреждений. Когда я проверил раздел «сеть» инструментов разработчика (CTRL + SHIFT + E или CMD + OPT + E) и проверил тело запроса POST, он, безусловно, содержал мое исходное сообщение (то есть не «HTTP MOD Test») я попробовал вместо этого вернуть некодированную строку JSON, но это также не было.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... efox-add-o

Вернуться в «Javascript»