/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in * compliance with the NPL. You may obtain a copy of the NPL at * http://www.mozilla.org/NPL/ * * Software distributed under the NPL is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL * for the specific language governing rights and limitations under the * NPL. * * The Initial Developer of this code under the NPL is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All Rights * Reserved. */ /* The internal networking library http interface. External modules * desiring to receive notification of internal http events implement this * interface, and pass it into the nsINetModuleMgr Register and Unregister * methods. */ #include "nsINetNotify.idl" [uuid(8D9430E0-0FB4-11d3-9DE6-0010A4053FD0)] interface nsIHTTPNotify : nsINetNotify { /* Before an HTTP request is sent to the server, this method is called. * The implementor of this method can the chose to set any additional * headers for this request before the request is actually sent to the * server. The HTTP PI (protocol interpreter) blocks on this call until * it returns. * * ARGUMENTS: * aContext: An nsISupports pointer, that should be queried for nsIHTTPChannel. * * RETURNS: nsresult */ void ModifyRequest(in nsISupports aContext); /* After an HTTP server response is received, this method is called * asyncronously. The implementor can interrogate the nsIHTTPChannel as * it deems necessary. The HTTP PI (protocol interpreter) doesn't wait * for this method to return. * * ARGUMENTS: * aContext: An nsISupport pointer, that should be queried for nsIHTTPChannel. * * RETURNS: nsresult */ void AsyncExamineResponse(in nsISupports aContext); };