fix device decrypt flow and delete_account response stability
Build docker and publish / build (20.15.1) (push) Failing after 8m0s
Build docker and publish / build (20.15.1) (push) Failing after 8m0s
This commit is contained in:
@@ -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()))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user