pools: Add a pool for buffers

This commit is contained in:
Tom Wiesing 2023-01-24 11:04:34 +01:00
parent a63bb2f669
commit 598de5b289
No known key found for this signature in database
6 changed files with 56 additions and 28 deletions

View file

@ -1,7 +1,6 @@
package auth
import (
"bytes"
"context"
"encoding/base64"
"fmt"
@ -11,6 +10,7 @@ import (
"github.com/FAU-CDI/wisski-distillery/internal/dis/component"
"github.com/FAU-CDI/wisski-distillery/internal/models"
"github.com/FAU-CDI/wisski-distillery/pkg/password"
"github.com/FAU-CDI/wisski-distillery/pkg/pools"
"github.com/pkg/errors"
"github.com/pquerna/otp"
"github.com/pquerna/otp/totp"
@ -186,8 +186,10 @@ func TOTPLink(secret *otp.Key, width, height int) (string, error) {
}
// encode image as base64
var buffer bytes.Buffer
if err := png.Encode(&buffer, img); err != nil {
buffer := pools.GetBuffer()
defer pools.ReleaseBuffer(buffer)
if err := png.Encode(buffer, img); err != nil {
return "", err
}