/* -*- 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.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): */ /* 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); };