Browse Source

webserver: spurious newline after data confuses curl

Webserver wrongly sends an additional newline after the data which
causes curl to believe that the next request on this socket has no
header data and so includes all headers in the data output.

Git-Dch: Ignore
David Kalnischkies 12 years ago
parent
commit
93a99dac87
1 changed files with 9 additions and 9 deletions
  1. 9 9
      test/interactive-helper/aptwebserver.cc

+ 9 - 9
test/interactive-helper/aptwebserver.cc

@@ -137,21 +137,21 @@ bool sendFile(int const client, FileFd &data)				/*{{{*/
    {
       if (actual == 0)
 	 break;
-      if (Success == true)
-	 Success &= FileFd::Write(client, buffer, actual);
+      Success &= FileFd::Write(client, buffer, actual);
    }
-   if (Success == true)
-      Success &= FileFd::Write(client, "\r\n", 2);
+   if (Success == false)
+      std::cerr << "SENDFILE: READ/WRITE ERROR to " << client << std::endl;
    return Success;
 }
 									/*}}}*/
 bool sendData(int const client, std::string const &data)		/*{{{*/
 {
-   bool Success = true;
-   Success &= FileFd::Write(client, data.c_str(), data.size());
-   if (Success == true)
-      Success &= FileFd::Write(client, "\r\n", 2);
-   return Success;
+   if (FileFd::Write(client, data.c_str(), data.size()) == false)
+   {
+      std::cerr << "SENDDATA: WRITE ERROR to " << client << std::endl;
+      return false;
+   }
+   return true;
 }
 									/*}}}*/
 void sendError(int const client, int const httpcode, std::string const &request,/*{{{*/