// Copyright (c) 2025 Nikolai Papin // // This file is part of Easywish // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See // the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . package utils import ( "easywish/config" "fmt" "net/url" ) // TODO: Move this method to s3 service func LocalizeS3Url(originalURL string) (*url.URL, error) { cfg := config.GetConfig() newDomain := fmt.Sprintf("%s:%d", cfg.Hostname, cfg.Port) parsedURL, err := url.Parse(originalURL) if err != nil { return nil, fmt.Errorf("invalid URL: %w", err) } newURL := url.URL{ Scheme: parsedURL.Scheme, Host: newDomain, Path: "/s3" + parsedURL.Path, RawQuery: parsedURL.RawQuery, } return &newURL, nil }