fix device decrypt flow and delete_account response stability
Build docker and publish / build (20.15.1) (push) Failing after 8m0s

This commit is contained in:
2026-03-04 01:36:45 -08:00
parent 8bdc8afea3
commit 82626dd749
7 changed files with 143 additions and 5 deletions
+19 -1
View File
@@ -27,6 +27,7 @@ func (r responseBodyWriter) Write(b []byte) (int, error) {
func LoggerMiddleware(svc *svc.ServiceContext) func(c *gin.Context) {
return func(c *gin.Context) {
sensitiveFields := []string{"password", "old_password", "new_password"}
// get response body
w := &responseBodyWriter{body: &bytes.Buffer{}, ResponseWriter: c.Writer}
c.Writer = w
@@ -79,9 +80,26 @@ func LoggerMiddleware(svc *svc.ServiceContext) func(c *gin.Context) {
}
logs = append(logs, logger.Field("error", errMessage))
}
if status, ok := c.Get(ctxDeviceDecryptStatusKey); ok {
logs = append(logs, logger.Field("device_decrypt_status", status))
}
if reason, ok := c.Get(ctxDeviceDecryptReasonKey); ok {
logs = append(logs, logger.Field("device_decrypt_reason", reason))
}
if encryptedQuery, ok := c.Get(ctxEncryptedQueryKey); ok {
logs = append(logs, logger.Field("encrypted_query", encryptedQuery))
}
if decryptedQuery, ok := c.Get(ctxDecryptedQueryKey); ok {
logs = append(logs, logger.Field("decrypted_query", decryptedQuery))
}
if c.Request.Method == "POST" || c.Request.Method == "PUT" || c.Request.Method == "DELETE" {
// request content
logs = append(logs, logger.Field("request_body", string(maskSensitiveFields(requestBody, []string{"password", "old_password", "new_password"}))))
logs = append(logs, logger.Field("request_body", string(maskSensitiveFields(requestBody, sensitiveFields))))
if decryptedBody, ok := c.Get(ctxDecryptedBodyKey); ok {
if bodyText, isString := decryptedBody.(string); isString {
logs = append(logs, logger.Field("decrypted_request_body", string(maskSensitiveFields([]byte(bodyText), sensitiveFields))))
}
}
// response content
logs = append(logs, logger.Field("response_body", w.body.String()))
}