Thank you for the response. I had expected horrible performance from an external filter, but it is surprisingly fast. Fortunately, I don't have to scale up to more than a few users for now. I'm all ready to start coding an output filter, but given the investment in time and the little time remaining, I would like to get this external filter working. All the same, I'll purchase the book tonight.
Since the entity bodies are heavily binary, my filter treats all responses as a byte array and does no text or string operations. In case, anyone finds it useful, I've excerpted the error.log showing the call to the external filter. The non-timestamped log entries were written by the external filter. Mark Zetts [Thu Apr 19 18:12:02 2007] [debug] mod_proxy_http.c(54): proxy: HTTP: canonicalising URL //gis.orem.org/servlet/com.esri.esrimap.Esrimap [Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1378): [client 0.0.0.0] proxy: http: found worker http://gis.orem.org for http://gis.orem.org/servlet/com.esri.esrimap.Esrimap?ServiceName=catalog&CustomStream=True&ClientLocale=en_US&ClientVersion=3.1 [Thu Apr 19 18:12:02 2007] [debug] mod_proxy.c(777): Running scheme http handler (attempt 0) [Thu Apr 19 18:12:02 2007] [debug] mod_proxy_http.c(1662): proxy: HTTP: serving URL http://gis.orem.org/servlet/com.esri.esrimap.Esrimap?ServiceName=catalog&CustomStream=True&ClientLocale=en_US&ClientVersion=3.1 [Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1798): proxy: HTTP: has acquired connection for (gis.orem.org) [Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1859): proxy: connecting http://gis.orem.org/servlet/com.esri.esrimap.Esrimap?ServiceName=catalog&CustomStream=True&ClientLocale=en_US&ClientVersion=3.1 to gis.orem.org:80 [Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1955): proxy: connected /servlet/com.esri.esrimap.Esrimap?ServiceName=catalog&CustomStream=True&ClientLocale=en_US&ClientVersion=3.1 to gis.orem.org:80 [Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(2146): proxy: HTTP: connection complete to 198.60.110.7:80 (gis.orem.org) [Thu Apr 19 18:12:02 2007] [debug] mod_proxy_http.c(1448): proxy: start body send [Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(628): [client 0.0.0.0] filtering `/CivilLand/servlet/com.esri.esrimap.Esrimap' of type `(unspecified)' through `G:/Program_Files/Apache Software Foundation/Apache2.2/bin/vdlfilter.exe', cfg ExtFilterOptions DebugLevel=99 LogStderr PreservesContentLength ExtFilterInType */* ExtFilterOuttype (unchanged) In = 0 ------------ Read = 0 st_size = 0 Out ------------------------------------------------- [Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(820): [client 0.0.0.0] apr_file_read(child output), len 0 [Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(820): [client 0.0.0.0] (70014)End of file found: apr_file_read(child output), len -1 [Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(664): [client 0.0.0.0] (70014)End of file found: apr_file_read(child output), len -1 [Thu Apr 19 18:12:02 2007] [error] [client 0.0.0.0] (70014)End of file found: ef_unified_filter() failed [Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(820): [client 0.0.0.0] (70014)End of file found: apr_file_read(child output), len -1 [Thu Apr 19 18:12:02 2007] [debug] mod_proxy_http.c(1537): proxy: end body send [Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1816): proxy: HTTP: has released connection for (gis.orem.org) [Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(820): [client 0.0.0.0] (70014)End of file found: apr_file_read(child output), len -1 "Joshua Slive" <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 04/26/2007 01:35 PM Please respond to users@httpd.apache.org To users@httpd.apache.org cc Subject Re: [EMAIL PROTECTED] Reverse Proxy and an External Filter On 4/26/07, Mark Zetts <[EMAIL PROTECTED]> wrote: > > Running Apache 2.2.4 on Windows 2003 server, I have two problems with an > external filter written in C. The Apache server is running as a reverse > proxy. Dicey situation, that. I doubt that mod_external_filter is very well tested under windows. And even if it was, the fork overhead under windows is high enough to make performance a real issue. If this is anything more than a toy, you'd probably be much better off writing a real output filter. (Check out Nick Kew's new book if you need help with that.) Other than that, I've never tried mod_ext_filter on windows. But I'd start by looking at the standard windows cgi stuff. For example, make sure your stdin and stdout are both in binary mode. Joshua. --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: [EMAIL PROTECTED] " from the digest: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]