changed response format

This commit is contained in:
laurentu 2025-01-27 10:36:37 +01:00
parent 562570618d
commit b06fc07ee2
1 changed files with 10 additions and 8 deletions

View File

@ -18,7 +18,8 @@ func forwardRequestToBackend(wg *sync.WaitGroup, client *http.Client, backend st
/* Recreate the request with same Method, path,query and Body, but to the specified backend */
forwardReq, err := http.NewRequest(req.Method, backend, req.Body)
forwardReqStr := fmt.Sprintf("http://%s%s",backend,req.RequestURI)
forwardReq, err := http.NewRequest(req.Method, forwardReqStr, req.Body)
if err != nil {
log.Printf("Error creating request for %s: %v", backend, err)
responses <- fmt.Sprintf("Failed: %v", err)
@ -27,8 +28,6 @@ func forwardRequestToBackend(wg *sync.WaitGroup, client *http.Client, backend st
// Override Host with original Host
forwardReq.Host = req.Host
// Override RequestURI
forwardReq.RequestURI = req.RequestURI
// Add original headers
forwardReq.Header = req.Header.Clone()
@ -41,6 +40,7 @@ func forwardRequestToBackend(wg *sync.WaitGroup, client *http.Client, backend st
}
defer resp.Body.Close()
// Read response body
_, err = io.ReadAll(resp.Body)
if err != nil {
@ -49,8 +49,12 @@ func forwardRequestToBackend(wg *sync.WaitGroup, client *http.Client, backend st
return
}
if resp.StatusCode >= 400 {
responses <- fmt.Sprintf("%s failed %d", backend, resp.StatusCode)
return
}
// Ajouter la réponse dans le canal
responses <- fmt.Sprintf("%s succeeded", backend)
responses <- fmt.Sprintf("%s succeeded %d", backend, resp.StatusCode)
}
/*
@ -81,15 +85,13 @@ func handler(w http.ResponseWriter, req *http.Request) {
func debugHandler(w http.ResponseWriter, req *http.Request) {
backend := "127.0.0.1:8080"
/* Recreate the request with same Method, path,query and Body, but to the specified backend */
backendRequest := fmt.Sprintf("http://%s%s", backend, req.RequestURI)
fmt.Println("Backend Request", ":", backendRequest)
forwardReq, err := http.NewRequest(req.Method, backendRequest, req.Body)
forwardReqStr := fmt.Sprintf("http://%s%s",backend,req.RequestURI)
forwardReq, err := http.NewRequest(req.Method, forwardReqStr, req.Body)
if err != nil {
log.Printf("Error creating request for %s: %v", backend, err)
return
}
forwardReq.Host = req.Host
forwardReq.RequestURI = req.RequestURI
forwardReq.Header = req.Header.Clone()
fmt.Printf("%#v\n", req)