httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: cvs commit: apache-2.0/src/main http_core.c
Date Sun, 29 Oct 2000 07:06:40 GMT

> No.  Protocol data and text bodies are (in general) in different
> character sets.  Binary bodies aren't in character sets at all.  It

What about the case of an SSI that includes the date?  Which character set
is used?  I would think the file could be in one charset and the date in
another.  The only real solution to this, is to add a char-set integer to
the bucket.  The integer would be a global representation of a charset,
and it woulld allow a single filter to do all data translation both
protocol and body.

> would be an entirely different type of filter which would know to
> translate protocol data but leave everything else alone.  This is the
> hypothetical implementation charset filter.  But a filter alone
> doesn't solve the problem.  How would it know what was protocol data?
> Certain parts of the HTTP handling would have to attach metadata here
> and there to tell an implementation charset filter what is protocol
> data.  Any code which manipulates the buckets would have to maintain
> the metadata appropriately.  It turns out that it is much simpler to
> put the data into the brigade in the right format than it is to
> store/maintain the information for some other piece of code to do the
> conversion.

> > If we use ifdef's, then we end up inserting an arbitrary limitation to
> > what an Apache binary can do.  
> What arbitrary limitation(s) are you referring to?

Anytime I write code that outputs data, I must deal with charset
translation.  In 1.3, at least this was handled by BUFF.  Now, based on
what type of data I am outputting (and I don't really believe that line
works, because of the example above), I MIGHT have to worry about
charsets?  That is a limitation in my mind.

> At any rate, I see only 4 ifdefs scattered through the code to get
> protocol data converted properly (one each in chunk_filter(),
> getline(), ap_send_header_field(), ap_bputstrs()).  (A bit of this is
> not yet committed.)

But the problem isn't the ifdef's we have, its the ifdefs we'll be likely
to need.


Ryan Bloom               
406 29th St.
San Francisco, CA 94131

View raw message