diff --git a/.classpath b/.classpath
index 1e02a1e..3f0bc57 100644
--- a/.classpath
+++ b/.classpath
@@ -3,8 +3,8 @@
-
+
diff --git a/PeerAtCodeParser.jar b/PeerAtCodeParser.jar
new file mode 100644
index 0000000..95d9a7f
Binary files /dev/null and b/PeerAtCodeParser.jar differ
diff --git a/json-simple-1.1.1.jar b/json-simple-1.1.1.jar
deleted file mode 100644
index dfd5856..0000000
Binary files a/json-simple-1.1.1.jar and /dev/null differ
diff --git a/src/dev/peerat/framework/HttpReader.java b/src/dev/peerat/framework/HttpReader.java
index e0e11a5..9fbb6e8 100644
--- a/src/dev/peerat/framework/HttpReader.java
+++ b/src/dev/peerat/framework/HttpReader.java
@@ -12,11 +12,13 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.json.simple.parser.JSONParser;
+import dev.peerat.framework.utils.json.Json;
+import dev.peerat.framework.utils.json.JsonParser;
public class HttpReader{
private static Pattern HEADER_PATTERN = Pattern.compile("^([^:]*):\\s+(.*)$");
+ private static JsonParser JSON_PARSER = new JsonParser();
private Socket socket;
private InputStream in;
@@ -79,22 +81,11 @@ public class HttpReader{
return result;
}
- public T readJson() throws Exception{
- String line = "";
- while (ready()){
- char[] c = new char[1];
- read(c);
- line += c[0];
- if (c[0] == '}'){
- Object parse;
- try {
- parse = new JSONParser().parse(line);
- if (parse != null)
- return (T) parse;
- }catch(Exception e){}
- }
- }
- return null;
+ public J readJson() throws Exception{
+ int length = Integer.parseInt(this.headers.get("content-length"));
+ //to limit
+ char[] content = new char[length];
+ return JSON_PARSER.parse(new String(content));
}
/*
diff --git a/src/dev/peerat/framework/utils/json/Json.java b/src/dev/peerat/framework/utils/json/Json.java
new file mode 100644
index 0000000..c02394d
--- /dev/null
+++ b/src/dev/peerat/framework/utils/json/Json.java
@@ -0,0 +1,3 @@
+package dev.peerat.framework.utils.json;
+
+public interface Json{}
diff --git a/src/dev/peerat/framework/utils/json/JsonArray.java b/src/dev/peerat/framework/utils/json/JsonArray.java
new file mode 100644
index 0000000..69b10dc
--- /dev/null
+++ b/src/dev/peerat/framework/utils/json/JsonArray.java
@@ -0,0 +1,24 @@
+package dev.peerat.framework.utils.json;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class JsonArray implements Json{
+
+ private List