/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface nsIChannel; interface nsIHttpChannel; interface nsIURI; /** * nsIHttpEventSink * * Implement this interface to receive control over various HTTP events. The * HTTP channel will try to get this interface from its notificationCallbacks * attribute, and if it doesn't find it there it will look for it from its * loadGroup's notificationCallbacks attribute. * * These methods are called before onStartRequest, and should be handled * SYNCHRONOUSLY. * * @deprecated Newly written code should use nsIChannelEventSink instead of this * interface. */ [scriptable, uuid(9475a6af-6352-4251-90f9-d65b1cd2ea15)] interface nsIHttpEventSink : nsISupports { /** * Called when a redirect occurs due to a HTTP response like 302. The * redirection may be to a non-http channel. * * @return failure cancels redirect */ void onRedirect(in nsIHttpChannel httpChannel, in nsIChannel newChannel); };