changed response format
This commit is contained in:
parent
562570618d
commit
b06fc07ee2
|
@ -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 */
|
/* 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 {
|
if err != nil {
|
||||||
log.Printf("Error creating request for %s: %v", backend, err)
|
log.Printf("Error creating request for %s: %v", backend, err)
|
||||||
responses <- fmt.Sprintf("Failed: %v", 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
|
// Override Host with original Host
|
||||||
forwardReq.Host = req.Host
|
forwardReq.Host = req.Host
|
||||||
// Override RequestURI
|
|
||||||
forwardReq.RequestURI = req.RequestURI
|
|
||||||
// Add original headers
|
// Add original headers
|
||||||
forwardReq.Header = req.Header.Clone()
|
forwardReq.Header = req.Header.Clone()
|
||||||
|
|
||||||
|
@ -41,6 +40,7 @@ func forwardRequestToBackend(wg *sync.WaitGroup, client *http.Client, backend st
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
|
||||||
// Read response body
|
// Read response body
|
||||||
_, err = io.ReadAll(resp.Body)
|
_, err = io.ReadAll(resp.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -49,8 +49,12 @@ func forwardRequestToBackend(wg *sync.WaitGroup, client *http.Client, backend st
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if resp.StatusCode >= 400 {
|
||||||
|
responses <- fmt.Sprintf("%s failed %d", backend, resp.StatusCode)
|
||||||
|
return
|
||||||
|
}
|
||||||
// Ajouter la réponse dans le canal
|
// 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) {
|
func debugHandler(w http.ResponseWriter, req *http.Request) {
|
||||||
backend := "127.0.0.1:8080"
|
backend := "127.0.0.1:8080"
|
||||||
/* Recreate the request with same Method, path,query and Body, but to the specified backend */
|
/* Recreate the request with same Method, path,query and Body, but to the specified backend */
|
||||||
backendRequest := fmt.Sprintf("http://%s%s", backend, req.RequestURI)
|
forwardReqStr := fmt.Sprintf("http://%s%s",backend,req.RequestURI)
|
||||||
fmt.Println("Backend Request", ":", backendRequest)
|
forwardReq, err := http.NewRequest(req.Method, forwardReqStr, req.Body)
|
||||||
forwardReq, err := http.NewRequest(req.Method, backendRequest, req.Body)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error creating request for %s: %v", backend, err)
|
log.Printf("Error creating request for %s: %v", backend, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
forwardReq.Host = req.Host
|
forwardReq.Host = req.Host
|
||||||
forwardReq.RequestURI = req.RequestURI
|
|
||||||
forwardReq.Header = req.Header.Clone()
|
forwardReq.Header = req.Header.Clone()
|
||||||
|
|
||||||
fmt.Printf("%#v\n", req)
|
fmt.Printf("%#v\n", req)
|
||||||
|
|
Loading…
Reference in New Issue