| /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
| /* ***** BEGIN LICENSE BLOCK ***** |
| * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| * |
| * The contents of this file are subject to the Mozilla 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/MPL/ |
| * |
| * 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. |
| * |
| * The Initial Developer of the Original Code is |
| * Netscape Communications. |
| * Portions created by the Initial Developer are Copyright (C) 2001 |
| * the Initial Developer. All Rights Reserved. |
| * |
| * Contributor(s): |
| * Gagan Saksena <gagan@netscape.com> (original author) |
| * Darin Fisher <darin@netscape.com> |
| * |
| * Alternatively, the contents of this file may be used under the terms of |
| * either the GNU General Public License Version 2 or later (the "GPL"), or |
| * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
| * in which case the provisions of the GPL or the LGPL are applicable instead |
| * of those above. If you wish to allow use of your version of this file only |
| * under the terms of either the GPL or the LGPL, and not to allow others to |
| * use your version of this file under the terms of the MPL, indicate your |
| * decision by deleting the provisions above and replace them with the notice |
| * and other provisions required by the GPL or the LGPL. If you do not delete |
| * the provisions above, a recipient may use your version of this file under |
| * the terms of any one of the MPL, the GPL or the LGPL. |
| * |
| * ***** END LICENSE BLOCK ***** */ |
| |
| #include "nsIProxiedProtocolHandler.idl" |
| |
| [scriptable, uuid(122c91c0-2485-40ba-89c9-b895934921bc)] |
| interface nsIHttpProtocolHandler : nsIProxiedProtocolHandler |
| { |
| /** |
| * Get the HTTP advertised user agent string. |
| */ |
| readonly attribute ACString userAgent; |
| |
| /** |
| * Get the application name. |
| * |
| * @return The name of this application (eg. "Mozilla"). |
| */ |
| readonly attribute ACString appName; |
| |
| /** |
| * Get the application version string. |
| * |
| * @return The complete version (major and minor) string. (eg. "5.0") |
| */ |
| readonly attribute ACString appVersion; |
| |
| /** |
| * @return The vendor name. |
| */ |
| attribute ACString vendor; |
| |
| /** |
| * @return The vendor sub string. |
| */ |
| attribute ACString vendorSub; |
| |
| /** |
| * @return The vendor comment. |
| */ |
| attribute ACString vendorComment; |
| |
| /** |
| * @return The product name. |
| */ |
| attribute ACString product; |
| |
| /** |
| * @return A product sub string. |
| */ |
| attribute ACString productSub; |
| |
| /** |
| * @return A product comment. |
| */ |
| attribute ACString productComment; |
| |
| /** |
| * Get the current platform. |
| * |
| * @return The platform this application is running on |
| * (eg. "Windows", "Macintosh", "X11") |
| */ |
| readonly attribute ACString platform; |
| |
| /** |
| * Get the current oscpu. |
| * |
| * @return The oscpu this application is running on |
| */ |
| readonly attribute ACString oscpu; |
| |
| /** |
| * Get the translation of the application. The value for language |
| * is usually a 2-letter code such as "en" and occasionally a |
| * five-character code to indicate a language subtype, such as "zh_CN". |
| */ |
| attribute ACString language; |
| |
| /** |
| * Get/Set the application comment misc portion. |
| */ |
| attribute ACString misc; |
| }; |
| |
| %{C++ |
| // ----------- Categories ----------- |
| /** |
| * At initialization time, the HTTP handler will initialize each service |
| * registered under this category: |
| */ |
| #define NS_HTTP_STARTUP_CATEGORY "http-startup-category" |
| |
| // ----------- Observer topics ----------- |
| /** |
| * nsIObserver notification corresponding to startup category. Services |
| * registered under the startup category will receive this observer topic at |
| * startup if they implement nsIObserver. The "subject" of the notification |
| * is the nsIHttpProtocolHandler instance. |
| */ |
| #define NS_HTTP_STARTUP_TOPIC "http-startup" |
| |
| /** |
| * Before an HTTP request is sent to the server, this observer topic is |
| * notified. The observer of this topic can then choose to set any additional |
| * headers for this request before the request is actually sent to the server. |
| * The "subject" of the notification is the nsIHttpChannel instance. |
| */ |
| #define NS_HTTP_ON_MODIFY_REQUEST_TOPIC "http-on-modify-request" |
| |
| /** |
| * After an HTTP server response is received, this observer topic is notified. |
| * The observer of this topic can interrogate the response. The "subject" of |
| * the notification is the nsIHttpChannel instance. |
| */ |
| #define NS_HTTP_ON_EXAMINE_RESPONSE_TOPIC "http-on-examine-response" |
| |
| /** |
| * The observer of this topic is notified after the received HTTP response |
| * is merged with data from the browser cache. This means that, among other |
| * things, the Content-Type header will be set correctly. |
| */ |
| #define NS_HTTP_ON_EXAMINE_MERGED_RESPONSE_TOPIC "http-on-examine-merged-response" |
| |
| |
| %} |