diff options
author | Trumeet <yuuta@yuuta.moe> | 2022-07-13 12:44:49 -0700 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2022-07-13 12:44:49 -0700 |
commit | 8af5fa7157be6bfec041cbfebb55f4503892f4ab (patch) | |
tree | 941aaa9d4c41e44122ae9ca778c5b51026bba587 /src/main/java/moe/ymc/acron/serialization | |
parent | e26b8e3093c7ce17b365cfdb179e088054a3738d (diff) | |
download | acron-8af5fa7157be6bfec041cbfebb55f4503892f4ab.tar acron-8af5fa7157be6bfec041cbfebb55f4503892f4ab.tar.gz acron-8af5fa7157be6bfec041cbfebb55f4503892f4ab.tar.bz2 acron-8af5fa7157be6bfec041cbfebb55f4503892f4ab.zip |
Add error codes to distinguish invalid requests and server errors
API:ADDITION
Signed-off-by: Trumeet <yuuta@yuuta.moe>
Diffstat (limited to 'src/main/java/moe/ymc/acron/serialization')
-rw-r--r-- | src/main/java/moe/ymc/acron/serialization/Serializer.java | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main/java/moe/ymc/acron/serialization/Serializer.java b/src/main/java/moe/ymc/acron/serialization/Serializer.java index 900d6fc..6d06388 100644 --- a/src/main/java/moe/ymc/acron/serialization/Serializer.java +++ b/src/main/java/moe/ymc/acron/serialization/Serializer.java @@ -2,6 +2,7 @@ package moe.ymc.acron.serialization; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.google.gson.JsonParseException; import com.google.gson.typeadapters.RuntimeTypeAdapterFactory; import io.netty.handler.codec.http.websocketx.TextWebSocketFrame; import moe.ymc.acron.c2s.ReqCmd; @@ -14,13 +15,13 @@ import org.jetbrains.annotations.NotNull; public class Serializer { @NotNull - public static Request deserialize(@NotNull TextWebSocketFrame frame) { + public static Request deserialize(@NotNull TextWebSocketFrame frame) + throws JsonParseException, IllegalArgumentException, IllegalStateException { final String text = frame.text(); final RuntimeTypeAdapterFactory<Request> adapter = RuntimeTypeAdapterFactory.of(Request.class, "type") .registerSubtype(ReqSetConfig.class, "set_config") - .registerSubtype(ReqCmd.class, "cmd") - ; + .registerSubtype(ReqCmd.class, "cmd"); final Gson gson = new GsonBuilder() .registerTypeAdapter(ReqSetConfig.class, new ReqSetConfig.ReqSetConfigDeserializer()) .registerTypeAdapter(ReqSetConfig.Vec3d.class, new ReqSetConfig.Vec3d.Vec3dDeserializer()) @@ -46,8 +47,7 @@ public class Serializer { .registerSubtype(EventLagging.class, "lagging") .registerSubtype(EventCmdDenied.class, "cmd_denied") .registerSubtype(EventError.class, "error") - .registerSubtype(EventOk.class, "ok") - ; + .registerSubtype(EventOk.class, "ok"); final Gson gson = new GsonBuilder() .registerTypeAdapterFactory(adapter) .create(); |