/* ** (c) COPYRIGHT MIT 1995. ** Please first read the full copyright statement in the file COPYRIGH. */
The stream part of the Library is a set of streams that can be used in many contexts throughout the Library.
#ifndef WWWSTREAM_H #define WWWSTREAM_H
#ifdef __cplusplus extern "C" { #endif
The sysdep.h file includes system-specific include files and flags for I/O to network and disk. The only reason for this file is that the Internet world is more complicated than Posix and ANSI.
#include "sysdep.h"
This stream also buffers the result to find out the content length. If a maximum buffer limit is reached Content-Length is calculated for logs but it is not sent to the client -- rather the buffer is flushed right away.
#include "HTConLen.h" /* Content Length Counter */
This interface provides functionality for guessing unknown media types from
magic words. The stream is a one that reads first a chunk of stuff, tries
to figure out the format, and calls HTStreamStack()
. This is
a kind of lazy-evaluation of HTStreamStack()
. This could be
extended arbitrarily to recognize all the possible file formats in the world,
if someone only had time to do it.
#include "HTGuess.h" /* Guess stream */
The Tee stream just writes everything you put into it into two oter streams. One use (the only use?!) is for taking a cached copey on disk while loading the main copy, without having to wait for the disk copy to be finished and reread it.
#include "HTTee.h" /* T streem for splitting a stream */
This version of the stream object is a hook for clients that want an unparsed stream from libwww. The HTXParse_put_* and HTXParse_write routines copy the content of the incoming buffer into a buffer that is realloced whenever necessary. This buffer is handed over to the client in HTXParse_free. See also HTFWriter for writing to C files.
#include "HTXParse.h" /* External parse stream */
#ifdef __cplusplus } /* end extern C definitions */ #endif #endif