- From: <bpm@w3.org>
- Date: Thu, 6 Feb 1997 19:15:57 -0600
- To: Anselm Baird-Smith <abaird@w3.org>
- Cc: www-jigsaw@w3.org
Anselm Baird writes:
|
| > Anselm, here is a simple cgi script that tries to set multiple
| > cookies. Only the last one is set (test2=4321). Is this a bug? The
| > NCSA & Apache servers work fine with this script. I tried to dig
| > through the code, but got lost. I can't tell if the request is not
| > getting all of the cookies, or is not parsing the header correctly.
| >
|
|Go it, the CGI resource doesn't accumulate header values, instead it
|override any previous header value with the new one. They are two ways
|for you to fix that:
|
|a) Modify w3c.jigsaw.forms.CgiResource in the following way:
|
| public void notifyHeader(String name, byte buf[], int off, int len)
| throws MimeParserException
| {
| if ( name.equalsIgnoreCase("status") ) {
| status = new String(buf, 0, off, len);
| } else if ( name.equalsIgnoreCase("location") ) {
| location = new String(buf, 0, off, len);
| } else {
| String extraval = new String(buf, 0, off, len);
| if ( headers == null ) {
| headers = new Hashtable(11);
| } else {
| String val = (String) headers.get(name.toLowerCase());
| if ( val != null )
| extraval = val + "," + extraval;
| }
| headers.put(name.toLowerCase(), extraval);
| }
| }
Well, I tried this, but it merged the two cookies. So I changed
extraval = val + "," + extraval;
to be
extraval = val + ";" + extraval;
Then all I got was the FIRST cookie. Oh well, I guess that I need to
go and look at what the header really looks like. It just seems to not
ADD to the header.
--
Brian Millett
Technology Applications Inc. "Heaven can not exist,
(314) 530-1981 If the family is not eternal"
bpm@techapp.com F. Ballard Washburn
Received on Thursday, 6 February 1997 20:12:18 UTC