Fetch not following redirects
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, wasm
- Área
- api, networking
Línea de trabajo
Comienza ejecutando la reproducción de JavaScript contra la URL de redirección e inspecciona el fallo indicado en component.js:19. Verifica el comportamiento de la respuesta cuando fetch está configurado con redirect: "follow", incluido si la respuesta final contiene Example Domain. Se considera completado cuando la promesa termina sin el error "Didn't redirect to example.com".
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Fetch doesn't follow redirect responses even when explicitly set to follow.
Given the following JS
const STATUS_CODE = 302;
const EXPECTED_LOCATION = "https://example.com";
const URL = `https://httpbin.org/redirect-to?url=${EXPECTED_LOCATION}&status_code=${STATUS_CODE}`;
addEventListener('fetch', async e => {
let promise = fetch(URL, {
redirect: "follow",
})
.then((response) => {
if (response.status !== STATUS_CODE)
throw new Error(`Expected status code ${STATUS_CODE}, got ${response.status}`);
const location = response.headers.get("Location");
if (location !== EXPECTED_LOCATION)
throw new Error(`Expected location ${EXPECTED_LOCATION}, got ${location}`);
return response.text();
})
.then((text) => {
if (!text.includes("Example Domain")) {
throw new Error("Didn't redirect to example.com");
}
});
e.waitUntil(promise);
await promise;
e.respondWith(new Response(`Redirected successfully!`));
});
The component throws with the following output:
stderr [0] :: Warning: Promise passed to FetchEvent#waitUntil was rejected with error. Pending tasks after that error might not run. Error details:
stderr [0] :: Didn't redirect to example.com
stderr [0] :: Stack:
stderr [0] :: promise<@component.js:19:23
stderr [0] ::
- Lenguaje dominante
- C
- Estrellas
- 293
- Forks
- 61
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 12
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bytecodealliance/StarlingMonkey
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
bytecodealliance/StarlingMonkey#343 ·
Los mantenedores suelen responder en 1 día
-
bytecodealliance/StarlingMonkey#345 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
bytecodealliance/StarlingMonkey#344 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
bytecodealliance/StarlingMonkey#339 ·
Los mantenedores suelen responder en 1 día
-
The forgiving decoder implementation is ignoring padding and whitespaces in crypto-algorithm.cppAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100
bytecodealliance/StarlingMonkey#338 ·
Los mantenedores suelen responder en 1 día
Todos los issues de bytecodealliance/StarlingMonkey
Issues similares
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
Lakr233/vphone-cli#743 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
libsdl-org/SDL#16584 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
FriendsofECCE/ECCE#519 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
containers/crun#2415 ·
Los mantenedores suelen responder en 1 día