All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.parosproxy.paros.core.proxy.ProxyListener Maven / Gradle / Ivy

Go to download

The Zed Attack Proxy (ZAP) is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications. It is designed to be used by people with a wide range of security experience and as such is ideal for developers and functional testers who are new to penetration testing. ZAP provides automated scanners as well as a set of tools that allow you to find security vulnerabilities manually.

There is a newer version: 2.15.0
Show newest version
/*
 * Created on May 26, 2004
 *
 * Paros and its related class files.
 *
 * Paros is an HTTP/HTTPS proxy for assessing web application security.
 * Copyright (C) 2003-2004 Chinotec Technologies Company
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the Clarified Artistic License
 * as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * Clarified Artistic License for more details.
 *
 * You should have received a copy of the Clarified Artistic License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
// ZAP: 2012/03/15 Added the method getProxyListenerOrder.
// ZAP: 2012/06/17 Documented the interface.
// ZAP: 2012/12/27 Extend from ArrangeableListener.
// ZAP: 2016/09/22 JavaDoc tweaks
// ZAP: 2019/06/01 Normalise line endings.
// ZAP: 2019/06/05 Normalise format/style.
package org.parosproxy.paros.core.proxy;

import org.parosproxy.paros.network.HttpMessage;

/**
 * A listener that will be notified when a new request is ready to be forwarded to the server and
 * when a new response is ready to be forwarded to the client.
 *
 * @see OverrideMessageProxyListener
 * @see ConnectRequestProxyListener
 */
// ZAP: Changed the JavaDoc.
public interface ProxyListener extends ArrangeableProxyListener {

    /**
     * Notifies the listener that a new request was received from the client and is ready to be
     * forwarded to the server.
     *
     * 

The {@code HttpMessage} {@code msg} can be modified, if the response is set it will be * used instead of forwarding the request to the server. If the return value is {@code true} the * message may be forwarded and the following listeners will be notified, if the value is * {@code false} the message will not be forwarded and no more listeners will be * notified. * *

Note: In the presence of more than one listener there are no * guarantees that: * *

    *
  • the {@code HttpMessage} {@code msg} is equal to the one forwarded to the server, as the * following listeners may modify it; *
  • the response set is the one forwarded to the client, as the following listeners may * clear or modify it; *
  • the message will really be forwarded to the server, even if the return value is {@code * true}, as the following listeners may return {@code false}. *
* * @param msg the {@code HttpMessage} that may be forwarded to the server * @return {@code true} if the message should be forwarded to the server, {@code false} * otherwise */ // ZAP: Added the JavaDoc. boolean onHttpRequestSend(HttpMessage msg); /** * Notifies the listener that a new response was received from the server and is ready to be * forwarded to the client. * *

The {@code HttpMessage} {@code msg} can be modified (only the response should be * modified). If the return value is {@code true} the message may be forwarded and the * following listeners will be notified, if the value is {@code false} the message will * not be forwarded and no more listeners will be notified. * *

Note: In the presence of more than one listener there are no * guarantees that: * *

    *
  • the {@code HttpMessage} {@code msg} is equal to the one forwarded to the client, as the * following listeners may modify it; *
  • the message will really be forwarded to the client, even if the return value is {@code * true}, as the following listeners may return {@code false}. *
* * @param msg the {@code HttpMessage} that may be forwarded to the client * @return {@code true} if the message should be forwarded to the client, {@code false} * otherwise */ // ZAP: Added the JavaDoc. boolean onHttpResponseReceive(HttpMessage msg); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy