Interface nsIProtocolProxyService2Type

An extension of nsIProtocolProxyService

Hierarchy

Properties

isPACLoading: boolean

True if there is a PAC download in progress.

proxyConfigType: number

This attribute specifies the current type of proxy configuration.

Methods

  • Increases the reference count for this interface. The associated instance will not be deleted unless the reference count is returned to zero.

    Returns

    The resulting reference count.

    Returns number

  • Parameters

    • aIID: object
    • Optional aInstancePtr: object

    Returns any

  • A run time mechanism for interface discovery.

    Returns

    NS_OK if the interface is supported by the associated instance, NS_NOINTERFACE if it is not.

    aInstancePtr must not be null.

    Parameters

    • aIID: object

      [in] A requested interface IID

    • aInstancePtr: object

      [out] A pointer to an interface pointer to receive the result.

    Returns void

  • Decreases the reference count for this interface. Generally, if the reference count returns to zero, the associated instance is deleted.

    Returns

    The resulting reference count.

    Returns number

  • This method is used to register a nsIProxyConfigChangedCallback.

    Parameters

    • aCallback: nsIProxyConfigChangedCallback

      The aCallback instance to be registered.

    Returns void

  • This method returns via callback a nsIProxyInfo instance that identifies a proxy to be used for the given channel. Otherwise, this method returns null indicating that a direct connection should be used.

    Returns

    An object that can be used to cancel the asychronous operation. If canceled, the cancelation status (aReason) will be forwarded to the callback's onProxyAvailable method via the aStatus param.

    NOTE: If this proxy is unavailable, getFailoverForProxy may be called to determine the correct secondary proxy to be used.

    NOTE: If the protocol handler for the given URI supports nsIProxiedProtocolHandler, then the nsIProxyInfo instance returned from resolve may be passed to the newProxiedChannel method to create a nsIChannel to the given URI that uses the specified proxy.

    NOTE: However, if the nsIProxyInfo type is "http", then it means that the given URI should be loaded using the HTTP protocol handler, which also supports nsIProxiedProtocolHandler.

    See

    nsIProxiedProtocolHandler::newProxiedChannel

    Parameters

    • aChannelOrURI: nsISupports

      The channel for which a proxy is to be found, or, if no channel is available, a URI indicating the same. This method will return NS_ERROR_NOINTERFACE if this argument isn't either an nsIURI or an nsIChannel.

    • aFlags: number

      A bit-wise combination of the RESOLVE_ flags defined above. Pass 0 to specify the default behavior. Any additional bits that do not correspond to a RESOLVE_ flag are reserved for future use.

    • aCallback: nsIProtocolProxyCallback

      The object to be notified when the result is available.

    • aMainThreadTarget: nsISerialEventTarget

      A labelled event target for dispatching runnables to main thread.

    Returns nsICancelable

  • This method is identical to asyncResolve() except:

    • it only accepts an nsIChannel, not an nsIURI;
    • it may execute the callback function immediately (i.e from the stack of asyncResolve2()) if it is immediately ready to run. The nsICancelable return value will be null in that case.

    Parameters

    • aChannel: nsIChannel
    • aFlags: number
    • aCallback: nsIProtocolProxyCallback
    • aMainThreadTarget: nsISerialEventTarget

    Returns nsICancelable

  • If the proxy identified by aProxyInfo is unavailable for some reason, this method may be called to access an alternate proxy that may be used instead. As a side-effect, this method may affect future result values from resolve/asyncResolve as well as from getFailoverForProxy.

    Throw

    NS_ERROR_NOT_AVAILABLE if there is no alternate proxy available.

    Parameters

    • aProxyInfo: nsIProxyInfo

      The proxy that was unavailable.

    • aURI: nsIURI

      The URI that was originally passed to resolve/asyncResolve.

    • aReason: number

      The error code corresponding to the proxy failure. This value may be used to tune the delay before this proxy is used again.

    Returns nsIProxyInfo

  • This method may be called to construct a nsIProxyInfo instance from the given parameters. This method may be useful in conjunction with nsISocketTransportService::createTransport for creating, for example, a SOCKS connection.

    Parameters

    • aType: string

      The proxy type. This is a string value that identifies the proxy type. Standard values include: "http" - specifies a HTTP proxy "https" - specifies HTTP proxying over TLS connection to proxy "socks" - specifies a SOCKS version 5 proxy "socks4" - specifies a SOCKS version 4 proxy "direct" - specifies a direct connection (useful for failover) The type name is case-insensitive. Other string values may be possible, and new types may be defined by a future version of this interface.

    • aHost: string

      The proxy hostname or IP address.

    • aPort: number

      The proxy port.

    • aProxyAuthorizationHeader: string
    • aConnectionIsolationKey: string
    • aFlags: number

      Flags associated with this connection. See nsIProxyInfo.idl for currently defined flags.

    • aFailoverTimeout: number

      Specifies the length of time (in seconds) to ignore this proxy if this proxy fails. Pass UINT32_MAX to specify the default timeout value, causing nsIProxyInfo::failoverTimeout to be assigned the default value.

    • aFailoverProxy: nsIProxyInfo

      Specifies the next proxy to try if this proxy fails. This parameter may be null.

    Returns nsIProxyInfo

  • This method may be called to construct a nsIProxyInfo instance for with the specified username and password. Currently implemented for SOCKS proxies only.

    Parameters

    • aType: string

      The proxy type. This is a string value that identifies the proxy type. Standard values include: "socks" - specifies a SOCKS version 5 proxy "socks4" - specifies a SOCKS version 4 proxy The type name is case-insensitive. Other string values may be possible, and new types may be defined by a future version of this interface.

    • aHost: string

      The proxy hostname or IP address.

    • aPort: number

      The proxy port.

    • aUsername: string

      The proxy username

    • aPassword: string

      The proxy password

    • aProxyAuthorizationHeader: string
    • aConnectionIsolationKey: string
    • aFlags: number

      Flags associated with this connection. See nsIProxyInfo.idl for currently defined flags.

    • aFailoverTimeout: number

      Specifies the length of time (in seconds) to ignore this proxy if this proxy fails. Pass UINT32_MAX to specify the default timeout value, causing nsIProxyInfo::failoverTimeout to be assigned the default value.

    • aFailoverProxy: nsIProxyInfo

      Specifies the next proxy to try if this proxy fails. This parameter may be null.

    Returns nsIProxyInfo

  • Similar to registerFilter, but accepts an nsIProtocolProxyChannelFilter, which selects proxies according to channel rather than URI.

    Parameters

    • aFilter: nsIProtocolProxyChannelFilter

      The nsIProtocolProxyChannelFilter instance to be registered.

    • aPosition: number

      The position of the filter.

    Returns void

  • This method may be used to register a proxy filter instance. Each proxy filter is registered with an associated position that determines the order in which the filters are applied (starting from position 0). When resolve/asyncResolve is called, it generates a list of proxies for the given URI, and then it applies the proxy filters. The filters have the opportunity to modify the list of proxies.

    If two filters register for the same position, then the filters will be visited in the order in which they were registered.

    If the filter is already registered, then its position will be updated.

    After filters have been run, any disabled or disallowed proxies will be removed from the list. A proxy is disabled if it had previously failed- over to another proxy (see getFailoverForProxy). A proxy is disallowed, for example, if it is a HTTP proxy and the nsIProtocolHandler for the queried URI does not permit proxying via HTTP.

    If a nsIProtocolHandler disallows all proxying, then filters will never have a chance to intercept proxy requests for such URLs.

    Parameters

    • aFilter: nsIProtocolProxyFilter

      The nsIProtocolProxyFilter instance to be registered.

    • aPosition: number

      The position of the filter.

      NOTE: It is possible to construct filters that compete with one another in undesirable ways. This API does not attempt to protect against such problems. It is recommended that any extensions that choose to call this method make their position value configurable at runtime (perhaps via the preferences service).

    Returns void

  • Call this method to cause the PAC file (if any is configured) to be reloaded. The PAC file is loaded asynchronously.

    Returns void

  • This method is used to unregister a nsIProxyConfigChangedCallback.

    Parameters

    • aCallback: nsIProxyConfigChangedCallback

      The aCallback instance to be unregistered.

    Returns void

  • This method may be used to unregister a proxy channel filter instance. All filters will be automatically unregistered at XPCOM shutdown.

    Parameters

    • aFilter: nsIProtocolProxyChannelFilter

      The nsIProtocolProxyChannelFilter instance to be unregistered.

    Returns void

  • This method may be used to unregister a proxy filter instance. All filters will be automatically unregistered at XPCOM shutdown.

    Parameters

    • aFilter: nsIProtocolProxyFilter

      The nsIProtocolProxyFilter instance to be unregistered.

    Returns void

Generated using TypeDoc