Temp handling of JSON error and other fixes
This commit is contained in:
parent
7d7e681107
commit
38da2bb68d
7 changed files with 47 additions and 21 deletions
|
@ -12,6 +12,10 @@ body {
|
|||
border-style: solid;
|
||||
border-width: 2px;
|
||||
color: #ff0000;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#successmsg {
|
||||
|
@ -24,7 +28,7 @@ body {
|
|||
|
||||
#sidebar {
|
||||
float: right;
|
||||
width: 300px;
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
#loginregisterbox {
|
||||
|
@ -34,9 +38,10 @@ body {
|
|||
|
||||
#usercontent {
|
||||
margin: auto;
|
||||
width: -moz-calc(100% - 600px);
|
||||
/*width: -moz-calc(100% - 600px);
|
||||
width: -webkit-calc(100% - 600px);
|
||||
width: calc(100% - 600px);
|
||||
width: calc(100% - 600px);*/
|
||||
width: 60%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,11 @@
|
|||
<script src="js/register.js"></script>
|
||||
<meta charset="UTF-8"/>
|
||||
<link rel="stylesheet" href="css/style.css"/>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
document.getElementById("channelmessages").lastElementChild.scrollIntoView(false);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="errormsg">
|
||||
|
|
|
@ -1,14 +1,30 @@
|
|||
var sendmsg = function sendmsg(msginputta) {
|
||||
window.jsonobj = JSON.stringify({"message": msginputta.value, "conversation": window.convid});
|
||||
console.log(window.jsonobj);
|
||||
$.ajax({
|
||||
url: "/message", data: window.jsonobj, method: "POST", success: respfunc, error: respfunc
|
||||
});
|
||||
};
|
||||
|
||||
var respfunc = function respfunc(result) {
|
||||
if (result != "Success") { //on success result is string
|
||||
var msginput = document.getElementById("msginput");
|
||||
if (result.responseText == "JSONERROR") {
|
||||
console.log("Got JSON error. Retrying...");
|
||||
sendmsg(msginput);
|
||||
}
|
||||
else {
|
||||
var errormsg = document.getElementById("errormsg");
|
||||
errormsg.innerHTML = result.responseText;
|
||||
errormsg.style = "display: block";
|
||||
msginput.disabled = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
location.reload(true);
|
||||
};
|
||||
|
||||
var sendmsgonenter = function sendmsgonenter(e) { //TODO: Detect Enter
|
||||
var sendmsgonenter = function sendmsgonenter(e) {
|
||||
var code = e.keyCode || e.which;
|
||||
if (code != 13 || e.shiftKey) { //Enter keycode
|
||||
return;
|
||||
|
@ -17,12 +33,9 @@ var sendmsgonenter = function sendmsgonenter(e) { //TODO: Detect Enter
|
|||
var textarea = event.target;
|
||||
if (textarea.value.trim().length == 0)
|
||||
return;
|
||||
textarea.disabled = true;
|
||||
textarea.disabled = true; //msginput
|
||||
window.convid = document.getElementById("convidp").innerText * 1;
|
||||
var json = JSON.stringify({"message": textarea.value, "conversation": window.convid});
|
||||
$.ajax({
|
||||
url: "/message", data: json, method: "POST", success: respfunc, error: respfunc
|
||||
});
|
||||
sendmsg(textarea);
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
|
|
|
@ -91,7 +91,7 @@ public class IOHelper {
|
|||
if (exchange.getRequestBody().available() == 0)
|
||||
return null;
|
||||
try {
|
||||
String content = IOUtils.toString(exchange.getRequestBody(), StandardCharsets.ISO_8859_1).trim();
|
||||
String content = IOUtils.toString(exchange.getRequestBody(), StandardCharsets.ISO_8859_1);
|
||||
JsonObject obj = new JsonParser().parse(content).getAsJsonObject();
|
||||
return obj;
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -38,7 +38,7 @@ public class Main {
|
|||
gsonBuilder.registerTypeAdapter(new TypeToken<LoaderCollection<User>>() {
|
||||
}.getType(), new LoaderCollectionSerializer<User>());
|
||||
gson = gsonBuilder.create();
|
||||
User user = new User();
|
||||
/*User user = new User();
|
||||
user.setName("asd");
|
||||
user.setEmail("test@test.com");
|
||||
User user2 = new User();
|
||||
|
@ -79,9 +79,9 @@ public class Main {
|
|||
DataManager.save(user);
|
||||
DataManager.save(user2);
|
||||
DataManager.save(loggedinuser);
|
||||
DataManager.save(conversation);
|
||||
DataManager.save(conversation);*/
|
||||
|
||||
LogManager.getLogger().log(Level.INFO, "Starting webserver...");
|
||||
LogManager.getLogger().log(Level.INFO, "Starting webserver..."); //TODO: Separate IDs for conversations and users
|
||||
HttpServer server = HttpServer.create(new InetSocketAddress(InetAddress.getLocalHost(), 8080), 10);
|
||||
Reflections rf = new Reflections(
|
||||
new ConfigurationBuilder().setUrls(ClasspathHelper.forClassLoader(Page.class.getClassLoader()))
|
||||
|
|
|
@ -47,7 +47,7 @@ public class IndexPage extends Page {
|
|||
cide.text(Long.toString(conv.getId()));
|
||||
LogManager.getLogger().log(Level.INFO, "Messages: " + conv.getMesssages().size());
|
||||
for (Message message : conv.getMesssages()) {
|
||||
Element msgelement = channelmessages.appendElement("div");
|
||||
Element msgelement = channelmessages.appendElement("div"); //TODO: Save messages in conversation files
|
||||
Element header = msgelement.appendElement("p");
|
||||
header.text(message.getSender().getName() + " - " + message.getTime());
|
||||
Element body = msgelement.appendElement("p");
|
||||
|
|
|
@ -30,9 +30,12 @@ public class MessageAjaxPage extends Page {
|
|||
}
|
||||
JsonObject obj = IOHelper.GetPOSTJSON(exchange);
|
||||
if (obj == null) {
|
||||
IOHelper.SendResponse(400,
|
||||
"<h1>400 Bad request</h1><p>Not a JSON string!</p><p>" + IOHelper.GetPOST(exchange) + "</p>",
|
||||
exchange);
|
||||
/*
|
||||
* IOHelper.SendResponse(400,
|
||||
* "<h1>400 Bad request</h1><p>Not a JSON string!</p><p>" +
|
||||
* IOHelper.GetPOST(exchange) + "</p>", exchange);
|
||||
*/
|
||||
IOHelper.SendResponse(400, "JSONERROR", exchange);
|
||||
return;
|
||||
}
|
||||
if (!obj.has("message") || !obj.has("conversation")) {
|
||||
|
@ -42,7 +45,7 @@ public class MessageAjaxPage extends Page {
|
|||
exchange);
|
||||
return;
|
||||
}
|
||||
String message = obj.get("message").getAsString();
|
||||
String message = obj.get("message").getAsString().trim();
|
||||
int conversation = obj.get("conversation").getAsInt();
|
||||
if (message.trim().length() == 0) {
|
||||
IOHelper.SendResponse(400, "<h1>400 Bad request</h1><p>The message cannot be empty.</p>", exchange);
|
||||
|
|
Loading…
Reference in a new issue