- Navios
- 7 de agosto de 2026 às 05:11 UTC
- Autor
- Kamo
- Enviar
- b10c950
21670e5 encaminhado para o SocialWebhookController através da entrada fullly-PRE-ENCODED da UpstreamUri ponto, mas sua URL é um híbrido: `token` é um @PathVariable, assim Spring mãos o manipulador o valor DECODED, enquanto getQueryString() é bruto. Esse ponto de entrada codifica nada, que é certo para a metade crua e errado para o decodificado — o espelho imagem do código duplo este conjunto de alterações é sobre. POST /api/social/webhook/ab% 252 Ccd chega como a cadeia ab% 2Ccd, foi encaminhada verbatim, e MediaService decodificaram-no uma segunda vez para baixo para ab, cd. Antes de 21670e5 round-tripped corretamente, então esta foi uma regressão, não um buraco pré-existente. Impacto ao vivo zero: fichas são 32 Hex Chars. Codificação inerte, que é exatamente por isso que nada o pegou. O contrato foi invertido entretanto, e o primeiro segmento não-hex adicionado a esta rota teria corrompido Em silêncio. Alternado para o ponto de entrada híbrido, que codifica o caminho uma vez através do mesma chamada UriComponentsBuilder DefaultUriBuilderFactory faz e deixa a consulta intocada. O comportamento do aperto de mão Meta/X não se alterou — verificado pelos quatro testes existentes, que ainda afirmam cadeias de consultas de byte-identical. Dois novos testes fixam o contrato com um token não-hex ab%252Ccd, com e sem um consulta. Ambos falham contra o ponto de entrada anterior com exatamente ab% 2Ccd. Também corrige dois exageros no javadoc do UpstreamUri: - Alegou o formulário híbrido PREVENTA um `#` em um caminho decodificado variável truncando O pedido no fragmento. Não faz: divide em `#` exatamente como o DefaultUriBuilderFactory por trás do String sobrecarga, então o comportamento é inalterado de qualquer forma. Inalterado é a decisão certa em uma superfície pública, mas não é uma melhoria e não deve ser lido como um. A verdadeira razão pela qual os pontos de entrada são divididos é o código-once-vs-not-all distinção acima, que é agora o que o javadoc diz. - Um texto de pesquisa vazio (não nulo) usado para produzir uma sequência `?` e agora produz nenhum. O mesmo pedido apresentado no âmbito da RFC 3986. Um descuido mais tarde. Proseguir e comentar apenas para esses dois — nenhuma mudança de comportamento. Suite: 45 testes, 0 falhas, 0 erros.