- Send proxied response sequentially 42/7942/1
authorMauro Sardara <[email protected]>
Tue, 8 Aug 2017 18:12:39 +0000 (20:12 +0200)
committerMauro Sardara <[email protected]>
Tue, 8 Aug 2017 18:12:39 +0000 (20:12 +0200)
- Set mpd lifetime to 1 second
- Change default lifetime for a generic content

Change-Id: I43fd9e61d5cba059e32f67665d0ac22ce04682de
Signed-off-by: Mauro Sardara <[email protected]>
CMakeLists.txt
http-client/http_client.cc
http-server/response.cc
main.cc

index 14e7db1..8b51e1b 100644 (file)
@@ -39,7 +39,7 @@ endif()
 configure_file("${PROJECT_SOURCE_DIR}/config.h.in"
         "${CMAKE_BINARY_DIR}/config.h")
 
-include_directories(${LIB${TRANSPORT_LIBRARY}_INCLUDE_DIRS})
+include_directories(${LIB${TRANSPORT_LIBRARY}_INCLUDE_DIRS} http-server http-client)
 
 find_package(Threads REQUIRED)
 
index 221e7bb..a2e9800 100644 (file)
@@ -13,6 +13,7 @@
  * limitations under the License.
  */
 
+#include "response.h"
 #include "http_client.h"
 
 #include <curl/curl.h>
 #include <iostream>
 
 using namespace std;
+using namespace icn_httpserver;
 
 size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) {
-  ((ostream*) stream)->write((const char*)ptr, size * nmemb);
+  ((Response*) stream)->write((const char*)ptr, size * nmemb);
+  ((Response*) stream)->send();
   return size * nmemb;
 }
 
@@ -56,4 +59,4 @@ bool HTTPClient::download(const std::string& url, std::ostream& out) {
   }
 
   return true;
-}
\ No newline at end of file
+}
index 779eced..ca8dfea 100644 (file)
@@ -16,7 +16,7 @@
 #include "common.h"
 #include "response.h"
 
-#define DEFAULT_LIFETIME 1024 * 1024
+#define DEFAULT_LIFETIME 1000 * 1000
 
 namespace icn_httpserver {
 
diff --git a/main.cc b/main.cc
index c222db2..56e8fed 100644 (file)
--- a/main.cc
+++ b/main.cc
@@ -157,6 +157,10 @@ int main(int argc, char **argv) {
 
       path = boost::filesystem::canonical(path);
 
+      if (path.extension().string() == ".mpd") {
+        response->setResponseLifetime(std::chrono::milliseconds(1000));
+      }
+
       //Check if path is within web_root_path
       if (distance(web_root_path.begin(), web_root_path.end()) <= distance(path.begin(), path.end())
           && equal(web_root_path.begin(), web_root_path.end(), path.begin())) {