Source code

Revision control

Copy as Markdown

Other Tools

/* 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 nsIHttpChannel;
/**
* nsIHttpPushListener
*
* Used for triggering when a HTTP/2 push is received.
*
*/
[scriptable, uuid(0d6ce59c-ad5d-4520-b4d3-09664868f279)]
interface nsIHttpPushListener : nsISupports
{
/**
* When provided as a notificationCallback to an httpChannel, this.onPush()
* will be invoked when there is a >= Http2 push to that
* channel. The push may be in progress.
*
* The consumer must start the new channel in the usual way by calling
* pushChannel.AsyncOpen with a nsIStreamListener object that
* will receive the normal sequence of OnStartRequest(),
* 0 to N OnDataAvailable(), and onStopRequest().
*
* The new channel can be canceled after the AsyncOpen if it is not wanted.
*
* @param associatedChannel
* the monitor channel that was recieved on
* @param pushChannel
* a channel to the resource which is being pushed
*/
void onPush(in nsIHttpChannel associatedChannel,
in nsIHttpChannel pushChannel);
};