⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nsihttpchannel.idl

📁 linux下的一款播放器
💻 IDL
字号:
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- *//* * 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 Netscape Communications are * Copyright (C) 2001 by Netscape Communications.  All * Rights Reserved. *  * Contributor(s):  *   Gagan Saksena <gagan@netscape.com> (original author)  *   Darin Fisher <darin@netscape.com> */#include "nsIChannel.idl"interface nsIHttpHeaderVisitor;/** * nsIHttpChannel * * This interface allows for the modification of HTTP request parameters and * the inspection of the resulting HTTP response status and headers when they * become available. * * @status FROZEN */[scriptable, uuid(9277fe09-f0cc-4cd9-bbce-581dd94b0260)]interface nsIHttpChannel : nsIChannel{    /**************************************************************************     * REQUEST CONFIGURATION     *     * Modifying request parameters after asyncOpen has been called is an error.     */    /**     * Set/get the HTTP request method (default is "GET").  Setter is case     * insensitive; getter returns an uppercase string.     *     * NOTE: The data for a "POST" or "PUT" request can be configured via     * nsIUploadChannel; however, after setting the upload data, it may be     * necessary to set the request method explicitly.  The documentation     * for nsIUploadChannel has further details.     */    attribute ACString requestMethod;    /**     * Get/set the HTTP referrer URI.  This is the address (URI) of the     * resource from which this channel's URI was obtained (see RFC2616 section     * 14.36).     *      * NOTE: The channel may silently refuse to set the Referer header if the     * URI does not pass certain security checks (e.g., a "https://" URL will     * never be sent as the referrer for a plaintext HTTP request).  The     * implementation is not required to throw an exception when the referrer     * URI is rejected.     */    attribute nsIURI referrer;    /**     * Get the value of a particular request header.     *     * @param aHeader     *        The case-insensitive name of the request header to query (e.g.,     *        "Cache-Control").     *     * @return the value of the request header.     */    ACString getRequestHeader(in ACString aHeader);    /**     * Set the value of a particular request header.     *     * This method allows, for example, the cookies module to add "Cookie"     * headers to the outgoing HTTP request.     *     * @param aHeader     *        The case-insensitive name of the request header to set (e.g.,     *        "Cookie").     * @param aValue     *        The request header value to set (e.g., "X=1").     * @param aMerge     *        If true, the new header value will be merged with any existing     *        values for the specified header.  This flag is ignored if the     *        specified header does not support merging (e.g., the "Content-     *        Type" header can only have one value).  The list of headers for     *        which this flag is ignored is an implementation detail.  If this     *        flag is false, then the header value will be replaced with the     *        contents of |aValue|.     *     * If aValue is empty and aMerge is false, the header will be cleared.     */    void setRequestHeader(in ACString aHeader,                          in ACString aValue,                          in boolean aMerge);    /**     * Call this method to visit all request headers.  Calling setRequestHeader     * while visiting request headers has undefined behavior.  Don't do it!     *     * @param aVisitor     *        the header visitor instance.     */    void visitRequestHeaders(in nsIHttpHeaderVisitor aVisitor);    /**     * This attribute is a hint to the channel to indicate whether or not     * the underlying HTTP transaction should be allowed to be pipelined     * with other transactions.  This should be set to FALSE, for example,     * if the application knows that the corresponding document is likely     * to be very large.     *     * This attribute is true by default, though other factors may prevent     * pipelining.     */    attribute boolean allowPipelining;    /**     * This attribute specifies the number of redirects this channel is allowed     * to make.  If zero, the channel will fail to redirect and will generate     * a NS_ERROR_REDIRECT_LOOP failure status.     *     * NOTE: An HTTP redirect results in a new channel being created.  If the     * new channel supports nsIHttpChannel, then it will be assigned a value     * to its |redirectionLimit| attribute one less than the value of the     * redirected channel's |redirectionLimit| attribute.  The initial value     * for this attribute may be a configurable preference (depending on the     * implementation).     */    attribute unsigned long redirectionLimit;    /**************************************************************************     * RESPONSE INFO     *     * Accessing response info before the onStartRequest event is an error.     */    /**     * Get the HTTP response code (e.g., 200).     */    readonly attribute unsigned long responseStatus;    /**     * Get the HTTP response status text (e.g., "OK").     *     * NOTE: This returns the raw (possibly 8-bit) text from the server.  There     * are no assumptions made about the charset of the returned text.  You     * have been warned!     */    readonly attribute ACString responseStatusText;    /**     * Returns true if the HTTP response code indicates success.  The value of     * nsIRequest::status will be NS_OK even when processing a 404 response     * because a 404 response may include a message body that (in some cases)     * should be shown to the user.     *     * Use this attribute to distinguish server error pages from normal pages,     * instead of comparing the response status manually against the set of     * valid response codes, if that is required by your application.     */    readonly attribute boolean requestSucceeded;    /**     * Get the value of a particular response header.     *     * @param aHeader     *        The case-insensitive name of the response header to query (e.g.,     *        "Set-Cookie").     *     * @return the value of the response header.     */    ACString getResponseHeader(in ACString header);    /**     * Set the value of a particular response header.     *     * This method allows, for example, the HTML content sink to inform the HTTP     * channel about HTTP-EQUIV headers found in HTML <META> tags.     *     * @param aHeader     *        The case-insensitive name of the response header to set (e.g.,     *        "Cache-control").     * @param aValue     *        The response header value to set (e.g., "no-cache").     * @param aMerge     *        If true, the new header value will be merged with any existing     *        values for the specified header.  This flag is ignored if the     *        specified header does not support merging (e.g., the "Content-     *        Type" header can only have one value).  The list of headers for     *        which this flag is ignored is an implementation detail.  If this     *        flag is false, then the header value will be replaced with the     *        contents of |aValue|.     *     * If aValue is empty and aMerge is false, the header will be cleared.     */    void setResponseHeader(in ACString header,                           in ACString value,                           in boolean merge);    /**     * Call this method to visit all response headers.  Calling     * setResponseHeader while visiting response headers has undefined     * behavior.  Don't do it!     *     * @param aVisitor     *        the header visitor instance.     */    void visitResponseHeaders(in nsIHttpHeaderVisitor aVisitor);    /**     * Returns true if the server sent a "Cache-Control: no-store" response     * header.     */    boolean isNoStoreResponse();    /**     * Returns true if the server sent the equivalent of a "Cache-control:     * no-cache" response header.  Equivalent response headers include:     * "Pragma: no-cache", "Expires: 0", and "Expires" with a date value     * in the past relative to the value of the "Date" header.     */    boolean isNoCacheResponse();};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -