gecko-dev/netwerk/protocol/http/public/nsIHTTPChannel.idl

80 lines
2.5 KiB
Plaintext

/* -*- Mode: C++; tab-width: 2; 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):
*/
#include "nsIChannel.idl"
interface nsIHTTPEventSink;
interface nsIStreamListener;
interface nsISimpleEnumerator;
interface nsIAtom;
interface nsIInputStream;
[scriptable, uuid(35c00430-1938-11d3-933a-000064657374)]
interface nsIHTTPChannel : nsIChannel
{
/**
* More load attributes for http.
*/
const unsigned long BYPASS_CACHE = 1 << 1;
const unsigned long BYPASS_PROXY = 1 << 2;
/*
Request functions-
These functions set/get parameters on the outbound request and may only
be set before Load() function gets called. Calling them after
the Load() method will result in a NS_ERROR_ALREADY_CONNECTED
*/
string GetRequestHeader(in nsIAtom headerAtom);
void SetRequestHeader(in nsIAtom headerAtom, in string value);
nsISimpleEnumerator GetRequestHeaderEnumerator();
void SetRequestMethod(in unsigned long method);
// NS_IMETHOD SetRequestMethod(HTTPMethod i_Method=HM_GET) = 0;
/*
Pass in the post data if any...
*/
attribute nsIInputStream PostDataStream;
/*
Response funtions. A call to any of these implicitly calls Load() on this
protocol instance.
*/
string GetResponseHeader(in nsIAtom headerAtom);
void SetResponseHeader(in nsIAtom headerAtom, in string headerValue);
nsISimpleEnumerator GetResponseHeaderEnumerator();
readonly attribute unsigned long ResponseStatus;
readonly attribute string ResponseString;
readonly attribute nsIHTTPEventSink EventSink;
readonly attribute nsIStreamListener ResponseDataListener;
readonly attribute string Charset;
attribute PRBool AuthTriedWithPrehost;
};