From 466a083ff19c66ee06bb4a14a96e59738c8551b1 Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Thu, 10 Mar 2016 16:50:43 +0100
Subject: [PATCH] Trying to improve services proxify

---
 .../org/hbp/mip/controllers/WorkflowApi.java  | 29 ++++++++++---------
 src/test/db                                   |  2 +-
 2 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/src/main/java/org/hbp/mip/controllers/WorkflowApi.java b/src/main/java/org/hbp/mip/controllers/WorkflowApi.java
index d08a37af7..afd38e46f 100644
--- a/src/main/java/org/hbp/mip/controllers/WorkflowApi.java
+++ b/src/main/java/org/hbp/mip/controllers/WorkflowApi.java
@@ -37,16 +37,13 @@ public class WorkflowApi {
         if(algo.equals("glr"))
         {
             code = sendPost("https://mip.humanbrainproject.eu/services/request", query, results);
-            if(code != 200){
-                return new ResponseEntity<>(HttpStatus.valueOf(code));
-            }
         }
         else if(algo.equals("anv"))
         {
             results.append("not implemented");
         }
 
-        return ResponseEntity.ok(results.toString());
+        return new ResponseEntity<>(results.toString(), HttpStatus.valueOf(code));
     }
 
 
@@ -69,18 +66,22 @@ public class WorkflowApi {
 
         int respCode = con.getResponseCode();
 
-        if(respCode == 200)
+        BufferedReader in = null;
+        if(respCode == 200) {
+            in = new BufferedReader(new InputStreamReader(con.getInputStream()));
+        }
+        else
         {
-            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
-            String inputLine;
-            StringBuilder response = new StringBuilder();
-
-            while ((inputLine = in.readLine()) != null) {
-                response.append(inputLine);
-            }
-            in.close();
-            resp.append(response.toString());
+            in = new BufferedReader(new InputStreamReader(con.getErrorStream()));
+        }
+        String inputLine;
+        StringBuilder response = new StringBuilder();
+
+        while ((inputLine = in.readLine()) != null) {
+            response.append(inputLine);
         }
+        in.close();
+        resp.append(response.toString());
 
         return respCode;
     }
diff --git a/src/test/db b/src/test/db
index b424b9d34..d9f1a5cde 160000
--- a/src/test/db
+++ b/src/test/db
@@ -1 +1 @@
-Subproject commit b424b9d34d711dd90abe073a947f5069b211a261
+Subproject commit d9f1a5cde43b31469c97c2b5923ce9585685d597
-- 
GitLab