mirror of
https://github.com/imgproxy/imgproxy.git
synced 2025-09-29 21:13:57 +02:00
Explicitly set Content-Type header; Ensure that response body contains at least one byte
This commit is contained in:
@@ -2,15 +2,16 @@ package router
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
nanoid "github.com/matoous/go-nanoid/v2"
|
nanoid "github.com/matoous/go-nanoid/v2"
|
||||||
log "github.com/sirupsen/logrus"
|
|
||||||
|
|
||||||
"github.com/imgproxy/imgproxy/v3/config"
|
"github.com/imgproxy/imgproxy/v3/config"
|
||||||
|
"github.com/imgproxy/imgproxy/v3/ierrors"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -156,9 +157,11 @@ func (r *Router) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Warningf("Route for %s is not defined", req.URL.Path)
|
LogResponse(reqID, req, 404, ierrors.New(404, fmt.Sprintf("Route for %s is not defined", req.URL.Path), "Not found"))
|
||||||
|
|
||||||
|
rw.Header().Set("Content-Type", "text/plain")
|
||||||
rw.WriteHeader(404)
|
rw.WriteHeader(404)
|
||||||
|
rw.Write([]byte{' '})
|
||||||
}
|
}
|
||||||
|
|
||||||
func replaceRemoteAddr(req *http.Request, ip string) {
|
func replaceRemoteAddr(req *http.Request, ip string) {
|
||||||
|
@@ -151,6 +151,7 @@ func withPanicHandler(h router.RouteHandler) router.RouteHandler {
|
|||||||
|
|
||||||
router.LogResponse(reqID, r, ierr.StatusCode, ierr)
|
router.LogResponse(reqID, r, ierr.StatusCode, ierr)
|
||||||
|
|
||||||
|
rw.Header().Set("Content-Type", "text/plain")
|
||||||
rw.WriteHeader(ierr.StatusCode)
|
rw.WriteHeader(ierr.StatusCode)
|
||||||
|
|
||||||
if config.DevelopmentErrorsMode {
|
if config.DevelopmentErrorsMode {
|
||||||
@@ -181,11 +182,16 @@ func handleHealth(reqID string, rw http.ResponseWriter, r *http.Request) {
|
|||||||
ierr = ierrors.Wrap(err, 1)
|
ierr = ierrors.Wrap(err, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(msg) == 0 {
|
||||||
|
msg = []byte{' '}
|
||||||
|
}
|
||||||
|
|
||||||
// Log response only if something went wrong
|
// Log response only if something went wrong
|
||||||
if ierr != nil {
|
if ierr != nil {
|
||||||
router.LogResponse(reqID, r, status, ierr)
|
router.LogResponse(reqID, r, status, ierr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rw.Header().Set("Content-Type", "text/plain")
|
||||||
rw.Header().Set("Cache-Control", "no-cache")
|
rw.Header().Set("Cache-Control", "no-cache")
|
||||||
rw.WriteHeader(status)
|
rw.WriteHeader(status)
|
||||||
rw.Write(msg)
|
rw.Write(msg)
|
||||||
|
Reference in New Issue
Block a user