Received: by taz.hyperreal.com (8.8.4/V2.0) id IAA24834; Wed, 29 Jan 1997 08:19:12 -0800 (PST) Received: from gate-isdn.ukweb.com by taz.hyperreal.com (8.8.4/V2.0) with SMTP id IAA24808; Wed, 29 Jan 1997 08:18:48 -0800 (PST) Received: from aardvark.localnet [192.168.2.4] by gate-isdn.ukweb.com with smtp (Exim 1.59 #1) id 0vpciz-0007Ui-00; Wed, 29 Jan 1997 16:19:01 +0000 Date: Wed, 29 Jan 1997 16:18:44 +0000 (GMT) From: Paul Sutton X-Sender: paul@aardvark.localnet To: new-httpd@hyperreal.com Subject: [PATCH] Output all response headers on non-error status (2xx,3xx) Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463811070-773270210-854554724=:10300" Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1463811070-773270210-854554724=:10300 Content-Type: TEXT/PLAIN; charset=US-ASCII Here is a patch to output all response headers non-error statuses (2xx and 3xx) plus the special case of 304. It also brings us into line for HTTP/1.1 (e.g. outputing Etag's on 304s). This patch is the same as posted on 3Nov with the addition of also sending any Warning header for a 304 status. //pcs ---1463811070-773270210-854554724=:10300 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="errstat.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Error Status Patch v2 SW5kZXg6IGh0dHBfcHJvdG9jb2wuYw0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KUkNTIGZpbGU6IC9leHBvcnQvaG9tZS9jdnMvYXBhY2hlL3NyYy9odHRw X3Byb3RvY29sLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjkzDQpkaWZm IC1jIC1yMS45MyBodHRwX3Byb3RvY29sLmMNCioqKiBodHRwX3Byb3RvY29s LmMJMTk5Ny8wMS8yNiAwMToxNToxMwkxLjkzDQotLS0gaHR0cF9wcm90b2Nv bC5jCTE5OTcvMDEvMjkgMTU6NTk6MDkNCioqKioqKioqKioqKioqKg0KKioq IDE0NTMsMTQ1OCAqKioqDQotLS0gMTQ1MywxNDY0IC0tLS0NCiAgICAgIHJl dHVybiBiZmx1c2goci0+Y29ubmVjdGlvbi0+Y2xpZW50KTsNCiAgfQ0KICAN Cisgc3RhdGljIHZvaWQgc2VuZF9oZWFkZXIocmVxdWVzdF9yZWMgKnIsIGNo YXIgKmhkcikNCisgew0KKyAgICAgY2hhciAqdmFsID0gdGFibGVfZ2V0KHIt PmhlYWRlcnNfb3V0LCBoZHIpOw0KKyAgICAgaWYgKHZhbCkgYnZwdXRzKHIt PmNvbm5lY3Rpb24tPmNsaWVudCwgaGRyLCAiOiAiLCB2YWwsICJcMDE1XDAx MiIsIE5VTEwpOw0KKyB9DQorIA0KICB2b2lkIHNlbmRfZXJyb3JfcmVzcG9u c2UgKHJlcXVlc3RfcmVjICpyLCBpbnQgcmVjdXJzaXZlX2Vycm9yKQ0KICB7 DQogICAgICBjb25uX3JlYyAqYyA9IHItPmNvbm5lY3Rpb247DQoqKioqKioq KioqKioqKioNCioqKiAxNDY1LDE0ODQgKioqKg0KICAJaW50IGk7DQogIAl0 YWJsZSAqZXJyX2hkcnNfYXJyID0gci0+ZXJyX2hlYWRlcnNfb3V0Ow0KICAJ dGFibGVfZW50cnkgKmVycl9oZHJzID0gKHRhYmxlX2VudHJ5ICopZXJyX2hk cnNfYXJyLT5lbHRzOw0KICAgIA0KICAgICAgICAgIGJhc2ljX2h0dHBfaGVh ZGVyIChyKTsNCiAgCQ0KISAJLyogRm9yIGNvbmRpdGlvbmFsIGdldCdzIHdo aWNoIGRpZG4ndCBzZW5kIGFueXRoaW5nLCAqZG9uJ3QqDQohIAkgKiBzZW5k IGEgYm9ndXMgY29udGVudC10eXBlLCBvciBhbnkgYm9keSAtLS0gYnV0IG11 c3Qgc3RpbGwNCiEgCSAqIHRlcm1pbmF0ZSBoZWFkZXIuDQogIAkgKi8NCiAg CQ0KISAJaWYgKHN0YXR1cyA9PSBVU0VfTE9DQUxfQ09QWSkgew0KISAJICAg IGNoYXIgKmV0YWcgPSB0YWJsZV9nZXQoci0+aGVhZGVyc19vdXQsICJFVGFn Iik7DQohIAkgICAgY2hhciAqY2xvYyA9IHRhYmxlX2dldChyLT5oZWFkZXJz X291dCwgIkNvbnRlbnQtTG9jYXRpb24iKTsNCiEgCSAgICBpZiAoZXRhZykg YnZwdXRzKGMtPmNsaWVudCwgIkVUYWc6ICIsIGV0YWcsICJcMDE1XDAxMiIs IE5VTEwpOw0KISAJICAgIGlmIChjbG9jKSBidnB1dHMoYy0+Y2xpZW50LCAi Q29udGVudC1Mb2NhdGlvbjogIiwgY2xvYywNCiEgCQkJICAgICAiXDAxNVww MTIiLCBOVUxMKTsNCiAgCSAgICBzZXRfa2VlcGFsaXZlKHIpOw0KICAJICAg IGJwdXRzKCJcMDE1XDAxMiIsIGMtPmNsaWVudCk7DQogIAkgICAgcmV0dXJu Ow0KLS0tIDE0NzEsMTUwNSAtLS0tDQogIAlpbnQgaTsNCiAgCXRhYmxlICpl cnJfaGRyc19hcnIgPSByLT5lcnJfaGVhZGVyc19vdXQ7DQogIAl0YWJsZV9l bnRyeSAqZXJyX2hkcnMgPSAodGFibGVfZW50cnkgKillcnJfaGRyc19hcnIt PmVsdHM7DQorIAl0YWJsZSAqaGRyc19hcnIgPSByLT5oZWFkZXJzX291dDsN CisgCXRhYmxlX2VudHJ5ICpoZHJzID0gKHRhYmxlX2VudHJ5ICopaGRyc19h cnItPmVsdHM7DQogICAgDQogICAgICAgICAgYmFzaWNfaHR0cF9oZWFkZXIg KHIpOw0KICAJDQohIAkvKiBGb3Igbm9uLWVycm9yIHN0YXR1c2VzICgyeHgg YW5kIDN4eCksIHNlbmQgb3V0IGFsbCB0aGUgbm9ybWFsDQohIAkgKiBoZWFk ZXJzIHVubGVzcyBpdCBpcyBhIDMwNC4gRG9uJ3Qgc2VuZCBhIExvY2F0aW9u IHVubGVzcyBpdHMNCiEgCSAqIGEgcmVkaXJlY3Qgc3RhdHVzICgzeHgpLg0K ICAJICovDQorIA0KKyAJaWYgKChpc19IVFRQX1NVQ0NFU1Moc3RhdHVzKSB8 fCBpc19IVFRQX1JFRElSRUNUKHN0YXR1cykpICYmDQorIAkgICAgc3RhdHVz ICE9IEhUVFBfTk9UX01PRElGSUVEKSB7DQorIAkgICAgZm9yIChpID0gMDsg aSA8IGhkcnNfYXJyLT5uZWx0czsgKytpKSB7DQorIAkJaWYgKCFoZHJzW2ld LmtleSkgY29udGludWU7DQorIAkJaWYgKCFzdHJjYXNlY21wKGhkcnNbaV0u a2V5LCAiTG9jYXRpb24iKSAmJg0KKyAJCSAgICAhaXNfSFRUUF9SRURJUkVD VChzdGF0dXMpKQ0KKyAJCSAgICBjb250aW51ZTsNCisgCQlidnB1dHMoYy0+ Y2xpZW50LCBoZHJzW2ldLmtleSwgIjogIiwgaGRyc1tpXS52YWwsDQorIAkJ ICAgICAgICJcMDE1XDAxMiIsIE5VTEwpOw0KKyAJICAgIH0NCisgCX0NCiAg CQ0KISAJaWYgKHN0YXR1cyA9PSBIVFRQX05PVF9NT0RJRklFRCkgew0KISAJ ICAgIHNlbmRfaGVhZGVyKHIsICJFVGFnIik7DQohIAkgICAgc2VuZF9oZWFk ZXIociwgIkNvbnRlbnQtTG9jYXRpb24iKTsNCiEgCSAgICBzZW5kX2hlYWRl cihyLCAiRXhwaXJlcyIpOw0KISAJICAgIHNlbmRfaGVhZGVyKHIsICJDYWNo ZS1Db250cm9sIik7DQohIAkgICAgc2VuZF9oZWFkZXIociwgIlZhcnkiKTsN CiEgCSAgICBzZW5kX2hlYWRlcihyLCAiV2FybmluZyIpOw0KICAJICAgIHNl dF9rZWVwYWxpdmUocik7DQogIAkgICAgYnB1dHMoIlwwMTVcMDEyIiwgYy0+ Y2xpZW50KTsNCiAgCSAgICByZXR1cm47DQoqKioqKioqKioqKioqKioNCioq KiAxNDkwLDE0OTggKioqKg0KICAJICogc2VjdGlvbiwgc28gZm9yIG5vdywg d2UgZG9uJ3QgdXNlIGl0Lg0KICAJICovDQogIAlicHV0cygiQ29ubmVjdGlv bjogY2xvc2VcMDE1XDAxMiIsIGMtPmNsaWVudCk7DQotIAkNCi0gCWlmIChs b2NhdGlvbiAmJiBpc19IVFRQX1JFRElSRUNUKHN0YXR1cykpDQotIAkgICAg YnZwdXRzKGMtPmNsaWVudCwgIkxvY2F0aW9uOiAiLCBsb2NhdGlvbiwgIlww MTVcMDEyIiwgTlVMTCk7DQogIA0KICAJaWYgKChzdGF0dXMgPT0gTUVUSE9E X05PVF9BTExPV0VEKSB8fCAoc3RhdHVzID09IE5PVF9JTVBMRU1FTlRFRCkp DQogIAkgICAgYnZwdXRzKGMtPmNsaWVudCwgIkFsbG93OiAiLCBtYWtlX2Fs bG93KHIpLCAiXDAxNVwwMTIiLCBOVUxMKTsNCi0tLSAxNTExLDE1MTYgLS0t LQ0K ---1463811070-773270210-854554724=:10300--