You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2002/11/09 18:12:17 UTC
cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Processor.java
remm 2002/11/09 09:12:17
Modified: http11/src/java/org/apache/coyote/http11
Http11Processor.java
Log:
- Refactor special header handling.
- The special headers are now set in the protocol handler, which allows enforcing
the protocol (as it is not possible to remove headers from the MimeHeaders).
- This may not be compatible with Coyote JK 2. Please review.
Revision Changes Path
1.43 +20 -2 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java
Index: Http11Processor.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- Http11Processor.java 25 Oct 2002 14:00:35 -0000 1.42
+++ Http11Processor.java 9 Nov 2002 17:12:17 -0000 1.43
@@ -866,6 +866,7 @@
outputBuffer.addActiveFilter
(outputFilters[Constants.VOID_FILTER]);
entityBody = false;
+ contentDelimitation = true;
}
MessageBytes methodMB = request.method();
@@ -873,10 +874,28 @@
// No entity body
outputBuffer.addActiveFilter
(outputFilters[Constants.VOID_FILTER]);
+ contentDelimitation = true;
+ }
+
+ MimeHeaders headers = response.getMimeHeaders();
+ if (!entityBody) {
+ response.setContentLength(-1);
+ } else {
+ String contentType = response.getContentType();
+ if (contentType != null) {
+ headers.setValue("Content-Type").setString(contentType);
+ }
+ String contentLanguage = response.getContentLanguage();
+ if (contentLanguage != null) {
+ headers.setValue("Content-Language")
+ .setString(contentLanguage);
+ }
}
int contentLength = response.getContentLength();
if (contentLength != -1) {
+ response.getMimeHeaders().setValue("Content-Length")
+ .setInt(contentLength);
outputBuffer.addActiveFilter
(outputFilters[Constants.IDENTITY_FILTER]);
contentDelimitation = true;
@@ -907,14 +926,13 @@
if (!keepAlive) {
response.addHeader("Connection", "close");
- } else if(!http11) {
+ } else if (!http11) {
response.addHeader("Connection", "Keep-Alive");
}
// Build the response header
outputBuffer.sendStatus();
- MimeHeaders headers = response.getMimeHeaders();
int size = headers.size();
for (int i = 0; i < size; i++) {
outputBuffer.sendHeader(headers.getName(i), headers.getValue(i));
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>