Now sending data using request body, instead of URL parameters (fixes #7)

Small fixes that I should have done earlier
This commit is contained in:
Przemek Dragańczuk 2020-11-09 10:30:30 +01:00
parent 2714c4c9e0
commit f394f30c17
2 changed files with 14 additions and 11 deletions

View File

@ -6,7 +6,7 @@ import spark.Response;
public class Routes {
private static UrlRepository urlRepository;
private static final UrlRepository urlRepository;
static {
urlRepository = new UrlRepository();
@ -17,8 +17,10 @@ public class Routes {
}
public static String addUrl(Request req, Response res) {
String longUrl = req.queryParams("long");
String shortUrl = req.queryParams("short");
var body = req.body();
var split = body.split(";");
String longUrl = split[0];
String shortUrl = split[1];
if (shortUrl == null || shortUrl.isBlank()) {
shortUrl = Utils.randomString();
@ -43,7 +45,7 @@ public class Routes {
return "";
}
res.redirect(longUrlOpt.get());
res.redirect(longUrlOpt.get(), HttpStatus.PERMANENT_REDIRECT_308);
return "";
}

View File

@ -61,10 +61,11 @@ const submitForm = () => {
const longUrl = form.elements["longUrl"];
const shortUrl = form.elements["shortUrl"];
const url = `/api/new?long=${longUrl.value}&short=${shortUrl.value}`;
const url = `/api/new`;
fetch(url, {
method: "POST"
method: "POST",
body: `${longUrl.value};${shortUrl.value}`
})
.then(_ => {
longUrl.value = "";