Skip to content

Commit

Permalink
rm impl for single ext
Browse files Browse the repository at this point in the history
  • Loading branch information
takutakahashi committed Oct 12, 2023
1 parent 95512c9 commit 83e15ce
Showing 1 changed file with 19 additions and 29 deletions.
48 changes: 19 additions & 29 deletions webp.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,39 +11,29 @@ import (
"os/exec"
)

// handle .jpg.webp ext first
var convExtCandidates = []string{"", ".jpg", ".png", ".jpeg"}

func doWebp(req *http.Request) (*http.Response, error) {
var orgRes *http.Response
orgURL := req.URL
for _, cExt := range convExtCandidates {
newPath := orgURL.Path[:len(orgURL.Path)-len(".webp")] + cExt
newOrgURL, err := url.Parse(fmt.Sprintf("%s://%s%s?%s", orgURL.Scheme, orgURL.Host, newPath, orgURL.RawQuery))
if err != nil {
log.Println(err)
continue
}
newReq, err := http.NewRequest("GET", newOrgURL.String(), nil)
newReq.Header = req.Header
if err != nil {
log.Println(err)
continue
}
orgRes, err = client.Do(newReq)
if err != nil {
log.Println(err)
continue
}
if orgRes.StatusCode != 200 {
log.Println(orgRes.Status)
continue
} else {
break
}
newPath := orgURL.Path[:len(orgURL.Path)-len(".webp")]
newOrgURL, err := url.Parse(fmt.Sprintf("%s://%s%s?%s", orgURL.Scheme, orgURL.Host, newPath, orgURL.RawQuery))
if err != nil {
log.Println(err)
return nil, err
}
if orgRes == nil {
return nil, fmt.Errorf("get origin failed")
newReq, err := http.NewRequest("GET", newOrgURL.String(), nil)
newReq.Header = req.Header
if err != nil {
log.Println(err)
return nil, err
}
orgRes, err = client.Do(newReq)
if err != nil {
log.Println(err)
return nil, err
}
if orgRes.StatusCode != 200 {
log.Println(orgRes.Status)
return nil, err
}
return orgRes, nil
}
Expand Down

0 comments on commit 83e15ce

Please sign in to comment.