@@ -65,6 +65,7 @@ type tomlConfig struct {
6565 }
6666 Http struct {
6767 AvoidChunk bool
68+ Accept string
6869 UserAgent string
6970 }
7071 Domain map [string ]map [string ]interface {}
@@ -100,7 +101,7 @@ func loadToml() (*tomlConfig, error) {
100101}
101102
102103func errorServer (w http.ResponseWriter , r * http.Request ) {
103- glog .Error ("404 Not Found" )
104+ glog .Error ("404 Not Found:" + r . URL . String () )
104105 http .Error (w , "404 Not Found" , http .StatusNotFound )
105106}
106107
@@ -152,7 +153,7 @@ func urlCanonical(url string, referer string) string {
152153 return proto + "://" + strings .TrimLeft (words [1 ], "/" )
153154}
154155
155- func myClientImageGet (imageUrl string , referer string , userAgent string ) (* http.Response , error , int ) {
156+ func myClientImageGet (imageUrl string , referer string , userAgent string , accept string ) (* http.Response , error , int ) {
156157 imageUrl = urlCanonical (imageUrl , referer )
157158 var srcReader * http.Response
158159 var err error
@@ -187,10 +188,14 @@ func myClientImageGet(imageUrl string, referer string, userAgent string) (*http.
187188 req .Header .Add ("User-Agent" , userAgent )
188189 }
189190
191+ if accept != "" {
192+ req .Header .Add ("Accept" , accept )
193+ }
194+
190195 client := getHttpClient (u .Host )
191196 srcReader , err = client .Do (req )
192197 if err != nil {
193- glog .Warning ("imageUrl not find " + imageUrl )
198+ glog .Warning ("error requesting imageUrl: " + imageUrl )
194199 return nil , err , http .StatusBadRequest
195200 }
196201
@@ -404,7 +409,7 @@ func thumbServer(w http.ResponseWriter, r *http.Request, sem chan int) {
404409 params .ImageUrl , _ = url .QueryUnescape (val )
405410 case "io" :
406411 val , _ := url .QueryUnescape (tup [1 ])
407- OverlapsrcReader , err , statusCode := myClientImageGet (val , r .Referer (), c .Http .UserAgent )
412+ OverlapsrcReader , err , statusCode := myClientImageGet (val , r .Referer (), c .Http .UserAgent , c . Http . Accept )
408413 if err != nil {
409414 glog .Error ("Upstream Overlap Image failed : " + err .Error (), statusCode )
410415 http .Error (w , "Upstream Overlap Image failed : " + err .Error (), statusCode )
@@ -466,7 +471,7 @@ func thumbServer(w http.ResponseWriter, r *http.Request, sem chan int) {
466471 return
467472 }
468473
469- srcReader , err , statusCode := myClientImageGet (params .ImageUrl , r .Referer (), c .Http .UserAgent )
474+ srcReader , err , statusCode := myClientImageGet (params .ImageUrl , r .Referer (), c .Http .UserAgent , c . Http . Accept )
470475 if err != nil {
471476 message := "Upstream failed\t path:" + path + "\t referer:" + r .Referer () + "\t error:" + err .Error ()
472477 glog .Error (message , statusCode )
0 commit comments