mirror of
https://github.com/willnorris/imageproxy.git
synced 2026-04-28 22:36:25 +02:00
allow percentage sizes
change height and width options to be floats, and interpret values between 0 and 1 to be percentages. For example, an options strings of "0.5x" specifies 50% width and proportional height.
This commit is contained in:
parent
036d0c51c4
commit
cd1112f7ac
4 changed files with 28 additions and 12 deletions
|
|
@ -91,11 +91,11 @@ func (p *Proxy) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||
return
|
||||
}
|
||||
|
||||
if p.MaxWidth > 0 && req.Options.Width > p.MaxWidth {
|
||||
req.Options.Width = p.MaxWidth
|
||||
if p.MaxWidth > 0 && int(req.Options.Width) > p.MaxWidth {
|
||||
req.Options.Width = float64(p.MaxWidth)
|
||||
}
|
||||
if p.MaxHeight > 0 && req.Options.Height > p.MaxHeight {
|
||||
req.Options.Height = p.MaxHeight
|
||||
if p.MaxHeight > 0 && int(req.Options.Height) > p.MaxHeight {
|
||||
req.Options.Height = float64(p.MaxHeight)
|
||||
}
|
||||
|
||||
u := req.URL.String()
|
||||
|
|
|
|||
|
|
@ -88,6 +88,10 @@ func TestNewRequest(t *testing.T) {
|
|||
"http://localhost/1x2,fit/http://example.com/",
|
||||
"http://example.com/", &data.Options{1, 2, true}, false,
|
||||
},
|
||||
{
|
||||
"http://localhost/0.1x0.2,fit/http://example.com/",
|
||||
"http://example.com/", &data.Options{0.1, 0.2, true}, false,
|
||||
},
|
||||
}
|
||||
|
||||
for i, tt := range tests {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue