var HttpSender = Java.type(org.parosproxy.paros.network.HttpSender); function sendingRequest(msg, initiator, helper) { var method = msg.getRequestHeader().getMethod(); print(HttpSender - Method is , method); if (method.equalsIgnoreCase(POST) method.equalsIgnoreCase(PUT) method.equalsIgnoreCase(DELETE) method.equalsIgnoreCase(PATCH)) { print(HttpSender - Blocking request + method + + msg.hashCode() + + msg.getRequestHeader().getURI()); Block the request msg.setResponseBody(Request blocked by ZAP script); msg.setResponseHeader(HTTP1.1 405 Not Allowed); msg.getResponseHeader().setStatusCode(405); } else { var bearer = Java.type(java.lang.System).getenv(BEARER); if (initiator !== HttpSender.AUTHENTICATION_INITIATOR && msg.isInScope()) { msg .getRequestHeader() .setHeader( Authorization, Bearer + bearer ); } } return msg; } function responseReceived(msg, initiator, helper) { Debugging can be done using println like this print('HttpSender - responseReceived called for url= ' + msg.hashCode() + + msg.getRequestHeader().getURI().toString() + ' ' + msg.getResponseHeader().getStatusCode()); }