Requests: ¿Los encabezados de las palabras clave deben ser cadenas o búfer en la nueva versión 2.10.0?

Creado en 5 jul. 2016  ·  7Comentarios  ·  Fuente: psf/requests

¿Las palabras clave headers valor deben ser una cadena o un búfer?
Si las palabras clave dnt y upgrade-insecure-requests valor es cadena o búfer , es correcto, pero el valor es int, es incorrecto.
Derecha:

   'dnt': '1',
    'upgrade-insecure-requests': '1',

Incorrecto:

   'dnt': 1,
    'upgrade-insecure-requests': 1,

¿Por qué?

Comentario más útil

Independientemente de lo que hayamos documentado, esto solía funcionar y ahora no. Romperemos un _ lote_ de código si no lo cambiamos.

Todos 7 comentarios

@ wut0n9 Este cambio de comportamiento no está en v2.10.0, está en la rama maestra actual.

Sin embargo, eso es un error real: # 3366 ha retrocedido esto. @nateprewitt , ¿está interesado en intentar actualizar con una solución para esto?

Los encabezados siempre deberían haber sido una cadena. No creo que esta sea una regresión significativa, si es que una regresión. Siempre hemos documentado que los valores del encabezado deben ser cadenas.

Independientemente de lo que hayamos documentado, esto solía funcionar y ahora no. Romperemos un _ lote_ de código si no lo cambiamos.

Sí, lo haré bien en esto @Lukasa.

Ver también https://github.com/kennethreitz/requests/issues/865 y https://github.com/kennethreitz/requests/pull/866

No sé cuánto es realmente un "lote" en este caso.

@ sigmavirus24 se ha vinculado a las opiniones anteriores relevantes, que sugieren que en realidad no permitimos valores de encabezado que no sean cadenas. Eso significa que esto no es un error: fuimos nosotros haciendo una revisión que está dentro del alcance de la definición de la API.

@Lukasa cierto, francamente estoy sorprendido de que esto no se haya roto antes. El significado de non-bytes / str como valor de encabezado no está definido en lo que a mí respecta.

¿Fue útil esta página
0 / 5 - 0 calificaciones