mirror of
https://github.com/imgproxy/imgproxy.git
synced 2025-09-25 19:24:38 +02:00
Add IMGPROXY_BASE64_URL_INCLUDES_FILENAME config
This commit is contained in:
@@ -32,6 +32,18 @@ func (s *ProcessingOptionsTestSuite) TestParseBase64URL() {
|
||||
s.Require().Equal(imagetype.PNG, po.Format)
|
||||
}
|
||||
|
||||
func (s *ProcessingOptionsTestSuite) TestParseBase64URLWithFilename() {
|
||||
config.Base64URLIncludesFilename = true
|
||||
|
||||
originURL := "http://images.dev/lorem/ipsum.jpg?param=value"
|
||||
path := fmt.Sprintf("/size:100:100/%s.png/puppy.jpg", base64.RawURLEncoding.EncodeToString([]byte(originURL)))
|
||||
po, imageURL, err := ParsePath(path, make(http.Header))
|
||||
|
||||
s.Require().NoError(err)
|
||||
s.Require().Equal(originURL, imageURL)
|
||||
s.Require().Equal(imagetype.PNG, po.Format)
|
||||
}
|
||||
|
||||
func (s *ProcessingOptionsTestSuite) TestParseBase64URLWithoutExtension() {
|
||||
originURL := "http://images.dev/lorem/ipsum.jpg?param=value"
|
||||
path := fmt.Sprintf("/size:100:100/%s", base64.RawURLEncoding.EncodeToString([]byte(originURL)))
|
||||
|
@@ -27,6 +27,10 @@ func preprocessURL(u string) string {
|
||||
func decodeBase64URL(parts []string) (string, string, error) {
|
||||
var format string
|
||||
|
||||
if len(parts) > 1 && config.Base64URLIncludesFilename {
|
||||
parts = parts[:len(parts)-1]
|
||||
}
|
||||
|
||||
encoded := strings.Join(parts, "")
|
||||
urlParts := strings.Split(encoded, ".")
|
||||
|
||||
|
Reference in New Issue
Block a user