Re: how to flush STDOUT before end of script

Felix Morley Finch (felix@crowfix.com)
Wed, 29 Jan 1997 19:01:25 -0800

Date: Wed, 29 Jan 1997 19:01:25 -0800
Message-Id: <199701300301.TAA00540@crowfix.com>
From: Felix Morley Finch <felix@crowfix.com>
To: Echo <echo@echo.cica.fr>
Subject: Re: how to flush STDOUT before end of script 
In-Reply-To: <Pine.LNX.3.95.970130024746.3272A-100000@echo.cica.fr> (message 

>>In article <Pine.LNX.3.95.970130024746.3272A-100000@echo.cica.fr>, Echo 
<echo@echo.cica.fr> writes:

> I installed fcgi with apache 1.2b6 with perl ..
>  but I'am quite dispointed because apache wait for the end of the script
> execution before sending the whole page. 
> In this cas I see almost nodifference with a normal cgi script.

> for instance :

> while(FCGI::Accept() >=0)
> {
> $|=1;
> print "fisrt";
> sleep 10;
> print "second";
> }

I believe this is standard server procedure.  Don't know why, seems
like more trouble, but there is a way around it.  Has nothing to do
with FastCGI, BTW.

If you've got the O'Reilly book CGI programming, check page 139ff.
Here is my capsule (possibly incomplete and/or in error!) summary:

A standard HTML document begins with "Content-type: test/html", a
blank line, then the <HTML><BODY>...</BODY></HTML> stuff.  But you can
preface this with mime-type lines specifying multipart and what the
divider is, then each block of data, *including* the normal
Content-type: line, blank line, and <HTML>...</HTML>, another blank
line, and an extra line with the divider.  Repeat this last for every
separate block you want.  The final block's divider line has a special
syntax, telling the browser that there are no more parts.

Like this:

	Content-type: multipart/x-mixed-replace;boundary=Xyzzy

	--Xyzzy
	Content-type: text/html

	<HTML><BODY>
	...first part...
	</BODY></HTML>

	--Xyzzy
	Content-type: text/html

	<HTML><BODY>
	...middle part...
	</BODY></HTML>

	--Xyzzy
	Content-type: text/html

	<HTML><BODY>
	...last part...
	</BODY></HTML>

	--Xyzzy--

"Xyzzy" can be and boundary marker you want.

Notice the extra "--" after the final boundary marker.

You can also mix in pictures and all; change the Content-type: header,
replace the <HTML>...</HTML> with your gif, and make sure you keep the
blank lines around the gif.

I hope I haven't screwed this up *too* much...

-- 
     ... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._.
       Felix Finch, scarecrow repairer / felix@crowfix.com
     PGP = 9D 93 1E 78 5B D7 42 1C   95 4E 9E DD 3F 6F 21 98
I've found a solution to Fermat's Last Theorem but I see I've run out of room o