package org.lambdanantes.lcgoji; import lombok.extern.slf4j.Slf4j; import org.apache.http.client.fluent.Request; import org.apache.http.client.fluent.Response; import org.apache.http.entity.StringEntity; import static spark.Spark.*; @Slf4j public class Main { public static final String TEAM_NAME = "LCGOJI"; public static final int SELF_PORT = 8888; public static final String SELF_URL = "http://127.0.0.1:" + SELF_PORT; public static final String TESTER_URL = "http://127.0.0.1:8080"; public static void main(String[] args) throws Exception { port(SELF_PORT); before((request, response) -> log.info("Requête entrante : " + request.requestMethod() + " " + request.pathInfo() + ", query params : " + request.queryString())); // API pour l'évaluation de λ-term // Le body est une S-expression sous sa forme textuelle post("/eval", (request, response) -> { String body = request.body(); log.info("Demande d'évaluation de l'expression : " + body); // TODO Parser, contruire l'AST, l'évaluer String result = body; // Renvoie la s-expression à l'identique pour le moment log.info("Réponse envoyée : " + body); return result.getBytes(); }); init(); // Enregistrement de notre API auprès du tester d'API String jsonBody = "{\"url\":\"" + SELF_URL + "/eval\", \"name\": \"" + TEAM_NAME + "\"}"; Response response = Request.Post(TESTER_URL + "/register") .addHeader("Content-type", "application/json") .body(new StringEntity(jsonBody)) .execute(); log.info("Résultat de l'enregistrement : "+response.returnContent().toString()); } }