Read from StnIn from POST is still broken?

Pierre Sahores psahores at easynet.fr
Sat Mar 4 04:39:05 EST 2006


Hello Katir,

I did'nt have the opportunity to test this for a while but what works  
100% fine (we went spoken about before if i right remember) is to  
stick a PHP sockets listener in front of your Rev CGI script or Rev  
backgrounder stack based app. A very reliable way to do Rev able to  
support very heavy write-mode transactions traffic. After height  
years in using this design, i never had a socket brokken in only one  
of my running production's apps. At this time, i just know that 800  
connections/second is the top-stressed level one of my apps has  
sometime to support and, in this situation, all worked always as  
expected without any "accident" (Athlon XP Pro 800, 1Go RAM, Suse- 
Linux from september 2000 to september 20005 - Mac OS X 10.3.9, 1Go  
Ram, G4 box since september 2005).

See as a reminder of the second way to go, the "paper" and  
downloadable example app at <http://istream.homeunix.com/insead/ 
index_en.html>, my little xDSL test and home mac mini server.

Kind Regards,

Pierre

Le 4 mars 06 à 03:48, Sivakatirswami a écrit :

> This is a really old problem: Rev CGI scripts are truncating data  
> piped from Apache from a POST....
>
> Does anyone know for "positively absolutely" sure that new version  
> of rev has over come this issue?
>
> context:
>
> Linux web server, Apache, call Rev CGI to receive incoming Post  
> Data.  Beginning lines of script to read the incoming data -- see  
> below (suggested as a possible fix years ago by Scott Raney)
>
> (musings... it is possible that this is a client side problem?
> --machine A with browser B cannot in fact encode large chunks of  
> data and the name=value pair actually arrive to the server already  
> truncated.. meanwhile
> -- box C with browser D submits a large text chunk from the same  
> form and it arrive just fine: result Rev get blamed for being  
> intermittent failures... but he's really not the bad guy.
>
> on startup
> if $REQUEST_METHOD is "POST" then
> 	put "" into PostIn
> 	repeat until length(PostIn) >= $CONTENT_LENGTH
> 		read from stdin until ""
>     		put it after PostIn
>   	end repeat  	
> 	put  urlDecode (PostIn)  into tDataIn
> 	 	
> 	split tDataIn by "&" and "="
> 	put keys(tDataIn) into tFields
>
> .....etc.
>
> if one of the incoming name pairs contains too much data, it is  
> truncated.
>
> You can stress test this yourself:  go to:
>
> http://www.himalayanacademy.com/teaching/stories/
>
> and scroll down to the end of the list...the last "story is a  
> submission with a large text chunk pasted into the main field.
>
> The full cgi is here:
>
> http://www.himalayanacademy.com/teaching/stories/incoming_stories.txt
>
> Sivakatirswami
>
>
>
>
>
>
>
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your  
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
>

--
Pierre Sahores
www.sahores-conseil.com





More information about the use-livecode mailing list