Files
backend/handlers/img/get.go

36 lines
680 B
Go

package img
import (
"io"
"net/http"
"gitea.konchin.com/go2025/backend/middlewares"
"github.com/uptrace/bunrouter"
)
func (self *Handlers) Get(
w http.ResponseWriter,
req bunrouter.Request,
) error {
ctx := req.Context()
filename := req.Param("filename")
r, err := self.s3.GetImage(ctx, filename)
if err != nil {
return middlewares.HTTPError{
StatusCode: http.StatusInternalServerError,
Message: "failed to get image",
OriginError: err,
}
}
if _, err := io.Copy(w, r); err != nil {
return middlewares.HTTPError{
StatusCode: http.StatusInternalServerError,
Message: "failed to copy buffer",
OriginError: err,
}
}
return nil
}