38 lines
1.0 KiB
Java
38 lines
1.0 KiB
Java
package it.cavallium.strangedb.server.http;
|
|
|
|
import com.sun.net.httpserver.HttpExchange;
|
|
import com.sun.net.httpserver.HttpHandler;
|
|
import it.cavallium.strangedb.server.Server;
|
|
|
|
import java.io.IOException;
|
|
import java.io.OutputStream;
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
public class SizeHandler implements HttpHandler {
|
|
|
|
private final Server server;
|
|
|
|
public SizeHandler(Server server) {
|
|
this.server = server;
|
|
}
|
|
|
|
@Override
|
|
public void handle(HttpExchange exchange) throws IOException {
|
|
String requestPath = exchange.getRequestURI().toString().split("/size/", 2)[1].replace('(', '[').replace(')', ']');
|
|
int responseCode = 500;
|
|
String response;
|
|
try {
|
|
response = "" + server.size(requestPath);
|
|
responseCode = 200;
|
|
} catch (Exception ex) {
|
|
ex.printStackTrace();
|
|
response = "Error";
|
|
}
|
|
byte[] responseBytes = response.getBytes(StandardCharsets.UTF_8);
|
|
exchange.sendResponseHeaders(responseCode, responseBytes.length);
|
|
OutputStream os = exchange.getResponseBody();
|
|
os.write(responseBytes);
|
|
os.close();
|
|
}
|
|
}
|