/* -*- 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 "nsIProtocolHandler.idl" interface nsIChannel; interface nsIURI; interface nsIProxyInfo; interface nsILoadInfo; [scriptable, uuid(3756047a-fa2b-4b45-9948-3b5f8fc375e7)] interface nsIProxiedProtocolHandler : nsIProtocolHandler { /** Create a new channel with the given proxyInfo * * @param uri the channel uri * @param proxyInfo any proxy information that has already been determined, * or null if channel should later determine the proxy on its own using * proxyResolveFlags/proxyURI * @param proxyResolveFlags used if the proxy is later determined * from nsIProtocolProxyService::asyncResolve * @param proxyURI used if the proxy is later determined from * nsIProtocolProxyService::asyncResolve with this as the proxyURI name. * Generally this is the same as uri (or null which has the same * effect), except in the case of websockets which wants to bootstrap * to an http:// channel but make its proxy determination based on * a ws:// uri. * @param aLoadInfo used to evaluate who initated the resource request. */ nsIChannel newProxiedChannel2(in nsIURI uri, in nsIProxyInfo proxyInfo, in unsigned long proxyResolveFlags, in nsIURI proxyURI, in nsILoadInfo aLoadInfo); /** Create a new channel with the given proxyInfo * * @param uri the channel uri * @param proxyInfo any proxy information that has already been determined, * or null if channel should later determine the proxy on its own using * proxyResolveFlags/proxyURI * @param proxyResolveFlags used if the proxy is later determined * from nsIProtocolProxyService::asyncResolve * @param proxyURI used if the proxy is later determined from * nsIProtocolProxyService::asyncResolve with this as the proxyURI name. * Generally this is the same as uri (or null which has the same * effect), except in the case of websockets which wants to bootstrap * to an http:// channel but make its proxy determination based on * a ws:// uri. */ nsIChannel newProxiedChannel(in nsIURI uri, in nsIProxyInfo proxyInfo, in unsigned long proxyResolveFlags, in nsIURI proxyURI); };