This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
     new 56f32fb9e9 Refactor. Re-order. No functional change.
56f32fb9e9 is described below

commit 56f32fb9e91bcb3971c1116345c3fcac59e52fb0
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon Mar 6 19:45:51 2023 +0000

    Refactor. Re-order. No functional change.
---
 java/org/apache/coyote/ajp/AjpProcessor.java | 45 ++++++++++++++--------------
 1 file changed, 23 insertions(+), 22 deletions(-)

diff --git a/java/org/apache/coyote/ajp/AjpProcessor.java 
b/java/org/apache/coyote/ajp/AjpProcessor.java
index e0ec70c0fe..534c74ec78 100644
--- a/java/org/apache/coyote/ajp/AjpProcessor.java
+++ b/java/org/apache/coyote/ajp/AjpProcessor.java
@@ -1045,11 +1045,6 @@ public class AjpProcessor extends AbstractProcessor {
 
         response.setCommitted(true);
 
-        tmpMB.recycle();
-        responseMsgPos = -1;
-        responseMessage.reset();
-        responseMessage.appendByte(Constants.JK_AJP13_SEND_HEADERS);
-
         // Responses with certain status codes and/or methods are not 
permitted to include a response body.
         int statusCode = response.getStatus();
         if (statusCode < 200 || statusCode == 204 || statusCode == 205 || 
statusCode == 304 ||
@@ -1058,7 +1053,28 @@ public class AjpProcessor extends AbstractProcessor {
             swallowResponse = true;
         }
 
-        // HTTP header contents
+        // Prepare special headers
+        MimeHeaders headers = response.getMimeHeaders();
+        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);
+        }
+        long contentLength = response.getContentLengthLong();
+        if (contentLength >= 0) {
+            headers.setValue("Content-Length").setLong(contentLength);
+        }
+
+        // Write AJP message header
+        tmpMB.recycle();
+        responseMsgPos = -1;
+        responseMessage.reset();
+        responseMessage.appendByte(Constants.JK_AJP13_SEND_HEADERS);
+
+        // Write HTTP response line
         responseMessage.appendInt(statusCode);
         if (sendReasonPhrase) {
             String message = null;
@@ -1082,22 +1098,7 @@ public class AjpProcessor extends AbstractProcessor {
         }
         responseMessage.appendBytes(tmpMB);
 
-        // Special headers
-        MimeHeaders headers = response.getMimeHeaders();
-        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);
-        }
-        long contentLength = response.getContentLengthLong();
-        if (contentLength >= 0) {
-            headers.setValue("Content-Length").setLong(contentLength);
-        }
-
-        // Other headers
+        // Write headers
         int numHeaders = headers.size();
         responseMessage.appendInt(numHeaders);
         for (int i = 0; i < numHeaders; i++) {


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to