Chrome DevTools утверждает сетевые запросы перед выполнением

Вот небольшой скрипт bash (Unix), который я написал, который скопирует файлы для заданного хеширования фиксации с помощью структуры папок:

ARRAY=($(git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $1))
PWD=$(pwd)

if [ -d "$2" ]; then

    for i in "${ARRAY[@]}"
    do
        : 
        cp --parents "$PWD/$i" $2
    done
else
    echo "Chosen destination folder does not exist."
fi

Создайте файл с именем '~ / Scripts / copy- commit.sh ', затем предоставить ему права выполнения:

chmod a+x ~/Scripts/copy-commit.sh

Затем из корня репозитория git:

~/Scripts/copy-commit.sh COMMIT_KEY ~/Existing/Destination/Folder/
1
задан Mats de Swart 26 February 2019 в 23:12
поделиться

2 ответа

Вы можете использовать Requestly Расширение Chrome для перенаправления, отмены, блокировки, изменения заголовков и ... запросов.

enter image description here

Утвердить запросы перед выполнением, например. для запросов AJAX создайте правило перенаправления и укажите его на статический файл JSON или другой скрипт.

Чтобы заблокировать запрос, используйте функцию отмены запроса и установите пользовательский шаблон.

0
ответ дан Farhad 26 February 2019 в 23:12
поделиться

Я вижу 2 возможных решения для достижения этой цели на стороне клиента:

  1. Используйте панель блокировки запросов из ящика (откройте Chrome DevTools -> Esc -> '.. . '-> Блокировка запросов enter image description here Это полностью готовое решение для большинства случаев автономного использования.

  2. [ 1111] Использование работника сервиса. По сути, это способ прокси-запросов и индивидуального ответа (например, ответом 500). Возможно, вы захотите включить / отключить такую ​​функцию отладки с помощью фрагментов Chrome Devtools (Open Chrome DevTools -> Sources -> Snippets), так как вы не хотите, чтобы ваши запросы постоянно терпели неудачу:)

Сначала вам нужно зарегистрировать ваш сервисный работник следующим образом:

if('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/path-to-service-worker.js').then(function(registration) {
    // registration successful
  }).catch(function(err) {
    // registration failed
  });
}

После этого перезагрузите браузер (или установите ваш сервисный работник в DevTools -> Приложение -> Сервисные работники), чтобы ваш service-worker.js был активным, мог прослушивать событие «fetch» ​​и прокси-запросы для этого Домен, как это:

self.addEventListener('fetch', function(event) {
  // this will set a breakpoint in chrome devtools, allowing you to manually edit the response
  debugger; 
  // alternatively you could reponse with an error response like this:
  event.respondWith(
    new Response(null, {
      status: 500
    })
  );
});

Сторона примечание: из-за ограничений безопасности в браузере сервис-работники работают только через https и localhost.

Дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/API/Response/Response https://developers.google.com/web/ Основы / праймеры / сервис-рабочие /

0
ответ дан MattDiMu 26 February 2019 в 23:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: