Handle malformed encrypted requests without panics

Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
2026-07-13 08:03:18 +08:00
parent aebbc4b889
commit b1dfc68a0f
7 changed files with 135 additions and 91 deletions
+9 -1
View File
@@ -186,13 +186,21 @@ func (ss *Session) CheckErr(err error) bool {
}
func (ss *Session) Respond(resp any) {
if ss.done {
return
}
data, err := json.Marshal(resp)
if ss.CheckErr(err) {
return
}
ss.resp.setHeader("Content-Type", "application/json")
ss.resp.setHeader("X-Message-Sign", base64.StdEncoding.EncodeToString(encrypt.RSASignSHA1(data)))
signature, err := encrypt.RSASignSHA1(data)
if ss.CheckErr(err) {
return
}
ss.resp.setHeader("X-Message-Sign", base64.StdEncoding.EncodeToString(signature))
ss.resp.writeBody(http.StatusOK, string(data))
}