From 3d64e0da7c28bddb3ff6306f6871f6236dd69d40 Mon Sep 17 00:00:00 2001 From: Dom Eori <4j6dq2zi8@relay.firefox.com> Date: Sun, 15 May 2022 23:53:45 +0900 Subject: [PATCH] [allnet] Make DownloadOrder verbose --- .../aqua/sega/allnet/AllNetController.java | 18 ++++++++++--- .../model/response/DownloadOrderResponse.java | 25 +++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 src/main/java/icu/samnyan/aqua/sega/allnet/model/response/DownloadOrderResponse.java diff --git a/src/main/java/icu/samnyan/aqua/sega/allnet/AllNetController.java b/src/main/java/icu/samnyan/aqua/sega/allnet/AllNetController.java index 508af0fd..e7a3fcb3 100644 --- a/src/main/java/icu/samnyan/aqua/sega/allnet/AllNetController.java +++ b/src/main/java/icu/samnyan/aqua/sega/allnet/AllNetController.java @@ -1,6 +1,8 @@ package icu.samnyan.aqua.sega.allnet; import com.fasterxml.jackson.databind.ObjectMapper; + +import icu.samnyan.aqua.sega.allnet.model.response.DownloadOrderResponse; import icu.samnyan.aqua.sega.allnet.model.response.PowerOnResponse; import icu.samnyan.aqua.sega.allnet.model.response.PowerOnResponseV2; import icu.samnyan.aqua.sega.allnet.model.response.PowerOnResponseV3; @@ -56,10 +58,18 @@ public class AllNetController { @PostMapping(value = "/sys/servlet/DownloadOrder", produces = "text/plain") public String downloadOrder(InputStream dataStream, HttpServletRequest req) throws IOException { - logger.info("Request: DownloadOrder"); - String resp = "stat=1&uri=null"; - logger.info("Response: " + resp); - return resp + "\n"; + + byte[] bytes = dataStream.readAllBytes(); + Map reqMap = Decoder.decode(bytes); + + logger.info("Request: DownloadOrder, " + mapper.writeValueAsString(reqMap)); + + String serial = reqMap.getOrDefault("serial", DEFAULT_KEYCHIP_ID); + + DownloadOrderResponse resp = new DownloadOrderResponse(1, serial); + + logger.info("Response: " + mapper.writeValueAsString(resp)); + return resp.toString().concat("\n"); } @PostMapping(value = "/sys/servlet/PowerOn", produces = "text/plain") diff --git a/src/main/java/icu/samnyan/aqua/sega/allnet/model/response/DownloadOrderResponse.java b/src/main/java/icu/samnyan/aqua/sega/allnet/model/response/DownloadOrderResponse.java new file mode 100644 index 00000000..29070d3d --- /dev/null +++ b/src/main/java/icu/samnyan/aqua/sega/allnet/model/response/DownloadOrderResponse.java @@ -0,0 +1,25 @@ +package icu.samnyan.aqua.sega.allnet.model.response; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author samnyan (privateamusement@protonmail.com) + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class DownloadOrderResponse { + private int stat; + private String serial; + //private String uri; + + // Set uri to null: app code 300, option code 100 with http download error + // Exclude uri key or set stat to 0: both code 100 (current) + @Override + public String toString() { + return "stat=" + stat + + "&serial=" + serial; + } +}