myserver-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Myserver-commit] [2744] Fixed problem with filters


From: Giuseppe Scrivano
Subject: [Myserver-commit] [2744] Fixed problem with filters
Date: Tue, 12 Aug 2008 19:06:42 +0000

Revision: 2744
          http://svn.sv.gnu.org/viewvc/?view=rev&root=myserver&revision=2744
Author:   gscrivano
Date:     2008-08-12 19:06:41 +0000 (Tue, 12 Aug 2008)

Log Message:
-----------
Fixed problem with filters

Modified Paths:
--------------
    trunk/myserver/src/cgi.cpp

Modified: trunk/myserver/src/cgi.cpp
===================================================================
--- trunk/myserver/src/cgi.cpp  2008-08-08 19:38:32 UTC (rev 2743)
+++ trunk/myserver/src/cgi.cpp  2008-08-12 19:06:41 UTC (rev 2744)
@@ -143,20 +143,6 @@
   chain.setProtocol(td->http);
   chain.setProtocolData(td);
   chain.setStream(td->connection->socket);
-
-  if(td->mime)
-  {
-    if(td->mime && Server::getInstance()->getFiltersFactory()->chain(&chain,
-                                                        td->mime->filters, 
-                                                      td->connection->socket, 
&nbw, 1))
-      {
-        td->connection->host->warningsLogRequestAccess(td->id);
-        td->connection->host->warningsLogWrite("Cgi: Error loading filters");
-        td->connection->host->warningsLogTerminateAccess(td->id);
-        chain.clearAllFilters(); 
-        return td->http->raiseHTTPError(500);
-      }
-  }
   
   if(execute)
   {
@@ -496,6 +482,24 @@
     return 1;
   }
 
+
+  /* Create the output filters chain.  */
+  if(td->mime && Server::getInstance()->getFiltersFactory()->chain(&chain,
+                                                                   
td->mime->filters, 
+                                                                   
td->connection->socket, 
+                                                                   &nbw, 
+                                                                   1))
+  {
+    td->connection->host->warningsLogRequestAccess(td->id);
+    td->connection->host->warningsLogWrite("Cgi: Error loading filters");
+    td->connection->host->warningsLogTerminateAccess(td->id);
+    stdOutFile.close();
+    stdInFile.closeFile();
+    cgiProc.terminateProcess();
+    chain.clearAllFilters(); 
+    return td->http->raiseHTTPError(500);
+  }
+
   if(headerOffset - headerSize)
   {
     /* Flush the buffer.  Data from the header parsing can be present.  */






reply via email to

[Prev in Thread] Current Thread [Next in Thread]