ajax-hook icon indicating copy to clipboard operation
ajax-hook copied to clipboard

proxy 的 onRequest 有沒有方法像 hook 一樣整個bypass?

Open cyfung1031 opened this issue 1 year ago • 2 comments

hook有這個

  onreadystatechange:function(xhr,event){
    console.log("onreadystatechange called: %O")
    //返回false表示不阻断,拦截函数执行完后会接着执行真正的xhr.onreadystatechange回调.
    //返回true则表示阻断,拦截函数执行完后将不会执行xhr.onreadystatechange. 
    return false
  },

如果我想在proxy中onRequest像上面一個整個bypass不進入任何onResponse onError, 有方法嗎 (連handler.next(config)都不跑,直接原生較快也不會對我不處理的request出現bug)

ah.proxy({
            onRequest: (config, handler) => {
                 if(config.url == 'xxxxxxxx'){
                        // handler.bypass()??
                  }
                  // handler.next(config)
            },
             ...
})

cyfung1031 avatar Aug 16 '23 10:08 cyfung1031

不调用 handler.next 就可以,只有调用了之后,才会真正调用 open 和 send 方法,下面这个是 next 方法 image

DAHUIAAAAA avatar Sep 02 '23 14:09 DAHUIAAAAA

不调用 handler.next 就可以,只有调用了之后,才会真正调用 open 和 send 方法,下面这个是 next 方法 image

你誤會了 現在機制是 ah 把整個hack了然後交給裡面的onRequest onResponse處理 很多時因為bug或者是什麼,其實都不用把所有request都處理 不需要理會的網址直接交回原生的處理就好 現在只能透過onRequest onResponse裡面都設一個handler.next

我意思是,在open 的階段,做一個onConfig, 可以直接濾掉不需理會的網址 (onRequest做不到原因是大多數都是async=true)

cyfung1031 avatar Sep 02 '23 22:09 cyfung1031