Requests: Os cabeçalhos das palavras-chave devem ser string ou buffer na nova versão 2.10.0?

Criado em 5 jul. 2016  ·  7Comentários  ·  Fonte: psf/requests

As palavras-chave headers value devem ser string ou buffer?
Se as palavras-chave dnt e upgrade-insecure-requests value são string ou buffer , está certo, mas o valor é int, está errado. Por que isso?
Direito:

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

Errado:

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

Porque?

Comentários muito úteis

Independentemente do que documentamos, isso costumava funcionar e agora não funciona. Vamos quebrar um _lote_ de código se não mudarmos isso de volta.

Todos 7 comentários

@ wut0n9 Esta mudança de comportamento não está na v2.10.0, mas no branch master atual.

No entanto, esse é um bug real: # 3366 regrediu isso. @nateprewitt , você está interessado em tentar atualizar com uma correção para isso?

Os cabeçalhos devem sempre ser strings. Não acho que seja uma regressão significativa, se é que é uma regressão. Sempre documentamos que os valores do cabeçalho devem ser strings.

Independentemente do que documentamos, isso costumava funcionar e agora não funciona. Vamos quebrar um _lote_ de código se não mudarmos isso de volta.

Sim, vou resolver isso @Lukasa.

Veja também https://github.com/kennethreitz/requests/issues/865 e https://github.com/kennethreitz/requests/pull/866

Eu não sei quanto um "lote" realmente é neste caso.

@ sigmavirus24 vinculou-se às opiniões anteriores relevantes, que sugerem que, na verdade, não permitimos valores de cabeçalho não-string. Então isso significa que não é um bug: fomos nós fazendo uma revisão que está dentro do escopo da definição da API.

@Lukasa certo, estou francamente surpreso que não tenha quebrado antes. O significado de não bytes / str como um valor de cabeçalho é indefinido, tanto quanto eu estou preocupado.

Esta página foi útil?
0 / 5 - 0 avaliações