httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@covalent.net
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

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------


Mime
View raw message