Making a converter(proxy) HTTP server with wwwlib?

Hi,

We have a need to map all of the WWW to a totally different format (to
be specific: MHEG-5). While poking around, the following idea pops up

- use a proxy server concept, but

- when a request is served and retrieved from the real WEB server, do
  not pass the reply directly to the requestor, but run it trhough
  conversion and always return something like "application/x-mheg-5"
  to the requestor with the converted octet stream.

The advantage is that, for the testing purposes, we can use the
existing WEB clients to do the mundane details of communicating with
the converter (of course, without helper application for
appication/x-mheg-5, they can only store the stream).

By a quick look at the MiniServ, it seems that there is no way to get
my own stream converter stacks attached to the new request stream that
carries the reply to requestor (in HTTPServ.c/ParseRequest), or is
there?


What I need to do is something like

Client                        Proxy/Converter              The WEB
(requestor)                                            (real WWW server)

          GET URL             (pass through)        GET URL
----------------------------> .............. ------------> ........
                              ..............               ........
                              ..............   HTTP Reply  ........
                              .............. <------------ ........
                                HTServHTTP
                               HTMIMEConvert
                          + the whole converter
                        stacking and type matching
                            stuff sitting here
   application/x-mheg-5       ..............
<---------------------------- ..............

Will the normal converters actually work? That is, if I have something
like

  HTConversion_add(conv,"text/*","*/*", TextObject, 1.0,0.0,0.0);
  HTConversion_add(conv,"image/*","*/*", ImageObject, 1.0,0.0,0.0);
  HTConversion_add(conv,"message/rfc822","*/*", HTMIMEConvert,1.0,0.0,0.0);

and I do (as in MiniServ)

  HTFormat_setConversion(conv);

will my converters actually get called for the "back stream" (reply)
of the proxied requests? Or, need I set this conversion list to
request being created on "server_handler" callback? Or, do I need to
"clone" my own hacked version of the HTTPServ.c module?

--
Markku Savela (msa@hemuli.tte.vtt.fi),     Technical Research Centre of Finland
Multimedia Systems, P.O.Box 1203,FIN-02044 VTT,http://www.vtt.fi/tte/staff/msa/

Received on Thursday, 1 February 1996 06:19:40 UTC