123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- // Temporary methods to convert old ImageData to new ImageData and vice versa
- package imagedata
- import (
- "io"
- "net/http"
- "github.com/imgproxy/imgproxy/v3/imagedatanew"
- "github.com/imgproxy/imgproxy/v3/security"
- )
- // Converts an old ImageData to a new ImageData
- func To(old *ImageData) imagedatanew.ImageData {
- if old == nil {
- return nil
- }
- headers := make(http.Header)
- for k, v := range old.Headers {
- headers.Add(k, v)
- }
- d, err := imagedatanew.NewFromBytes(
- old.Data, headers, security.DefaultOptions(),
- )
- if err != nil {
- panic(err) // temp method, can happen
- }
- return d
- }
- // Converts a new ImageData to an old ImageData
- func From(n imagedatanew.ImageData) *ImageData {
- if n == nil {
- return nil
- }
- data, err := io.ReadAll(n.Reader())
- if err != nil {
- panic(err) // temp method, can happen
- }
- headers := make(map[string]string)
- //nolint:staticcheck
- for k, v := range n.Headers() {
- headers[k] = v[0]
- }
- return &ImageData{
- Data: data,
- Type: n.Format(),
- Headers: headers,
- }
- }
|