El servidor web Go redirige automáticamente las solicitudes POST
He estado tratando de resolver unproblema extraño desde hace bastante tiempo ahora. Después de pasar por un montón de código angular, noté algo extraño al registrar solicitudes en mi servidor a través de Charles.
Cuando publico en una url/myurl
la solicitud nunca llega a mi servidor. En cambio, obtiene una respuesta 301 y LUEGO una solicitud GET hite mi servidor.
Esto es increíblemente desconcertante. ¿Alguien más se ha encontrado con este problema? He subido una captura de pantalla de mi inicio de sesión de Charles en caso de que esté interesado.
Solo como referencia, así es como se ve mi servidor:
type FormStruct struct {
Test string
}
func PHandler(w http.ResponseWriter, r *http.Request) {
var t FormStruct
req, _ := httputil.DumpRequest(r, true)
log.Println(string(req))
log.Println(r.Method) // GET
log.Println(r.Body)
decoder := json.NewDecoder(r.Body)
err := decoder.Decode(&t)
log.Println("Decoding complete")
if err != nil {
log.Println("Error")
panic(err.Error()+"\n\n")
}
log.Println(t.Test)
w.Write([]byte("Upload complete, no errors"))
}
func main() {
http.HandleFunc("/myurl/", PHandler)
fmt.Println("Go Server listening on port 8001")
http.ListenAndServe(":8001", nil)
}