Interface nsIUploadChannelType

nsIUploadChannel

A channel may optionally implement this interface if it supports the notion of uploading a data stream. The upload stream may only be set prior to the invocation of asyncOpen on the channel.

Hierarchy

Properties

uploadStream: nsIInputStream

Get the stream (to be) uploaded by this channel.

Methods

  • Increases the reference count for this interface. The associated instance will not be deleted unless the reference count is returned to zero.

    Returns

    The resulting reference count.

    Returns number

  • Parameters

    • aIID: object
    • Optional aInstancePtr: object

    Returns any

  • A run time mechanism for interface discovery.

    Returns

    NS_OK if the interface is supported by the associated instance, NS_NOINTERFACE if it is not.

    aInstancePtr must not be null.

    Parameters

    • aIID: object

      [in] A requested interface IID

    • aInstancePtr: object

      [out] A pointer to an interface pointer to receive the result.

    Returns void

  • Decreases the reference count for this interface. Generally, if the reference count returns to zero, the associated instance is deleted.

    Returns

    The resulting reference count.

    Returns number

  • Sets a stream to be uploaded by this channel.

    Most implementations of this interface require that the stream: (1) implement threadsafe addRef and release (2) implement nsIInputStream::readSegments (3) implement nsISeekableStream::seek

    History here is that we need to support both streams that already have headers (e.g., Content-Type and Content-Length) information prepended to the stream (by plugins) as well as clients (composer, uploading application) that want to upload data streams without any knowledge of protocol specifications. For this reason, we have a special meaning for the aContentType parameter (see below).

    Parameters

    • aStream: nsIInputStream

      The stream to be uploaded by this channel.

    • aContentType: string

      If aContentType is empty, the protocol will assume that no content headers are to be added to the uploaded stream and that any required headers are already encoded in the stream. In the case of HTTP, if this parameter is non-empty, then its value will replace any existing Content-Type header on the HTTP request. In the case of FTP and FILE, this parameter is ignored.

    • aContentLength: number

      A value of -1 indicates that the length of the stream should be determined by calling the stream's |available| method.

    Returns void

Generated using TypeDoc