httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <>
Subject implementation charset filter
Date Fri, 22 Sep 2000 17:13:10 GMT
ics=implementation charset

Here is what I have gathered from a conversation with Tony in SF and
occasional comments on the list:

  On platforms where the ics isn't ascii, an ics filter sits at the
  bottom and translates stuff coded in the ics to ascii before the
  data is written to the network. 

  This would be used for protocol data.

  Something in a bucket would indicate that it is ics and should be
  recoded by the ics filter.

How to indicate that the data of a bucket should be translated from
the ics?  The filter is a minor issue (just a few
lines of code hopefully); how to indicate is a much more widespread
issue.  ics data will include chunk headers/trailers, HTTP header
fields, and probably canned error messages (for when the magic
redirection fails).

one way... introduce new bucket types which imply ics data to be
translated by the ics filter...

  A special bucket type could be used (instead of a flag) to indicate 
  that the bucket contains ics data.  Unfortunately, we'd probably end 
  up with multiple ics bucket types (one similar to transient, one 
  similar to immortal, maybe one similar to heap)...  This doesn't
  sound too cool.

another way... stick a flag in ap_bucket to allow any bucket type to
contain ics data to be translated by the ics filter...

  This is how (with a patch) chunking works on an EBCDIC machine
  today.  chunk_filter() turns on an ics flag in the ap_bucket which
  then tells a few lines of code in core_filter (standing in for the
  future ics filter) to translate before writing to the network.

Flags/special bucket-types/whatever aren't going to last very long
passing through content filters, as content filters will
destroy/split/create buckets seemingly at random and it will be error
prone to maintain such metadata.  Fortunately, ics buckets won't pass
through content filters so content filters won't have to know to leave
them alone.  Note that HTTP header fields won't be in an ics bucket
until content filters have finished playing with the table.  I guess
that chunk_filter or core_filter (whichever comes first?) would
linearize the header fields into an ics bucket.

Jeff Trawick | | PGP public key at web site:
          Born in Roswell... married an alien...

View raw message