]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/testUtils/IOUtils.java
upd: make output of Find-Agent-info JSON-formatted
[gigi.git] / tests / org / cacert / gigi / testUtils / IOUtils.java
index e33192e7d1fb893e228b40fad3372cc1c14ac45b..61cd17840c88c659f225c5ee08b54af5a2dd4243 100644 (file)
@@ -1,7 +1,9 @@
 package org.cacert.gigi.testUtils;
 
+import java.io.ByteArrayOutputStream;
 import java.io.CharArrayWriter;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
 import java.net.HttpURLConnection;
@@ -15,7 +17,7 @@ public class IOUtils {
 
     public static String readURL(URLConnection in) {
         try {
-            if ( !in.getContentType().equals("text/html; charset=UTF-8")) {
+            if ( !in.getContentType().equals("text/html; charset=UTF-8") && !in.getContentType().equals("text/plain; charset=UTF-8") && !in.getContentType().equals("application/json; charset=UTF-8")) {
                 if (in instanceof HttpURLConnection && ((HttpURLConnection) in).getResponseCode() != 200) {
                     System.err.println(readURL(new InputStreamReader(((HttpURLConnection) in).getErrorStream(), "UTF-8")));
                 }
@@ -36,10 +38,26 @@ public class IOUtils {
             while ((len = in.read(buffer)) > 0) {
                 caw.write(buffer, 0, len);
             }
+            in.close();
             return new String(caw.toCharArray());
         } catch (IOException e) {
             throw new Error(e);
         }
 
     }
+
+    public static byte[] readURL(InputStream in) {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        byte[] buffer = new byte[1024];
+        int len = 0;
+        try {
+            while ((len = in.read(buffer)) > 0) {
+                baos.write(buffer, 0, len);
+            }
+            in.close();
+            return baos.toByteArray();
+        } catch (IOException e) {
+            throw new Error(e);
+        }
+    }
 }