1
0
mirror of https://github.com/kataras/iris.git synced 2025-12-17 09:57:01 +00:00

fix an issue on accesslog when response and request recorder and minifier were enabled

This commit is contained in:
Gerasimos (Makis) Maropoulos
2023-04-19 23:56:55 +03:00
parent 1ee6e83ae6
commit d2f24fab90
2 changed files with 13 additions and 4 deletions

View File

@@ -836,20 +836,27 @@ func (ac *AccessLog) after(ctx *context.Context, lat time.Duration, method, path
}
if ac.shouldReadResponseBody() {
responseData := ctx.Recorder().Body()
responseBodyLength := len(responseData)
actualResponseData := ctx.Recorder().Body()
responseBodyLength := len(actualResponseData)
if ac.BytesSentBody {
bytesSent = responseBodyLength
}
if ac.ResponseBody && responseBodyLength > 0 {
if ac.BodyMinify {
// Copy response data as minifier now can change the back slice,
// fixes: https://github.com/kataras/iris-premium/issues/17.
responseData := make([]byte, len(actualResponseData))
copy(responseData, actualResponseData)
if minified, err := ctx.Application().Minifier().Bytes(ctx.GetContentType(), responseData); err == nil {
responseBody = string(minified)
responseBodyLength = len(responseBody)
}
}
if responseBody == "" {
responseBody = string(responseData)
responseBody = string(actualResponseData)
}
}