Source code

Revision control

Other Tools

1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/* This Source Code Form is subject to the terms of the Mozilla Public
3
* License, v. 2.0. If a copy of the MPL was not distributed with this
4
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6
#include "nsIProtocolHandler.idl"
7
8
interface nsIChannel;
9
interface nsIURI;
10
interface nsIProxyInfo;
11
interface nsILoadInfo;
12
13
[scriptable, builtinclass, uuid(3756047a-fa2b-4b45-9948-3b5f8fc375e7)]
14
interface nsIProxiedProtocolHandler : nsIProtocolHandler
15
{
16
/** Create a new channel with the given proxyInfo
17
*
18
* @param uri the channel uri
19
* @param proxyInfo any proxy information that has already been determined,
20
* or null if channel should later determine the proxy on its own using
21
* proxyResolveFlags/proxyURI
22
* @param proxyResolveFlags used if the proxy is later determined
23
* from nsIProtocolProxyService::asyncResolve
24
* @param proxyURI used if the proxy is later determined from
25
* nsIProtocolProxyService::asyncResolve with this as the proxyURI name.
26
* Generally this is the same as uri (or null which has the same
27
* effect), except in the case of websockets which wants to bootstrap
28
* to an http:// channel but make its proxy determination based on
29
* a ws:// uri.
30
* @param aLoadInfo used to evaluate who initated the resource request.
31
*/
32
nsIChannel newProxiedChannel(in nsIURI uri, in nsIProxyInfo proxyInfo,
33
in unsigned long proxyResolveFlags,
34
in nsIURI proxyURI,
35
in nsILoadInfo aLoadInfo);
36
};