36 lines
680 B
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
|
|
}
|