add onBeforeHandleRequest