Vérifiez avant d’appliquer
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Ramenez un à 16 champs Content-Length d’au plus 128 caractères à une valeur commune de zéro à 2147483647.
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
Testez listes à virgules, zéros initiaux, espaces et tabulations, rejetez éléments vides, signes, sauts de ligne et désaccords sans valider tout le cadrage HTTP.
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
Leniora est un espace de programmation assistée par IA sous Windows pour maintenir le code reliant les champs de protocole entrants aux décisions de l’application. Ouvrez le dossier source pertinent et énoncez la règle d’acceptation que votre projet entend appliquer. Demandez au modèle connecté d’examiner ensemble l’analyseur de champs et son appelant avant de proposer un assouplissement ou un nettoyage.
Une tâche d’exemple concerne content_length.py et les valeurs Content-Length répétées. Fournissez dans la conversation un ensemble de valeurs décimales concordantes et un ensemble contradictoire, avec la réponse attendue pour chacun. Examinez la modification proposée pour repérer les changements d’espacement, de syntaxe numérique et de limites, car des changements d’analyse apparemment mineurs peuvent élargir le contrat d’entrée accepté.
Poursuivez la révision dans le code qui utilise le résultat analysé. Exécutez les jeux de test du projet et examinez la gestion du rejet avant la poursuite du traitement du corps. Séparez cette politique délimitée de toute affirmation sur une implémentation HTTP complète : le résultat utile est une modification évaluable selon le comportement réellement nécessaire à votre application.
Choisissez un point de terminaison compatible OpenAI ou Anthropic pris en charge pour l’assistance du modèle, avec des identifiants si nécessaire. Un modèle d’IA sans censure peut y être sélectionnable, mais le fournisseur détermine ses restrictions réelles. Les outils disponibles et la capacité de contexte dépendent du modèle et du serveur ; des jeux de test précis aident à ancrer la discussion de programmation dans ces limites.
Cela dépend de la politique d’acceptation de votre projet. L’exemple exige l’accord entre les valeurs décimales fournies. Examinez le traitement du protocole environnant avant de modifier cette règle et préparez pour la session des tests concordants et contradictoires avec leurs résultats attendus.
Examinez d’abord les formes supplémentaires qu’il accepterait, notamment les signes ou d’autres notations numériques. Une fonction de conversion pratique peut élargir la grammaire. Demandez au modèle de comparer explicitement le comportement d’acceptation plutôt que de considérer un code plus court comme preuve d’une sémantique équivalente.
Suivez le résultat de l’analyseur dans son appelant et énoncez la réponse d’échec requise. Vérifiez que le traitement du corps ne peut pas continuer avec une valeur contradictoire choisie arbitrairement. Exécutez ce chemin dans votre projet ; une exception présentée isolément ne démontre pas le flux de contrôle environnant.
Fournissez les chaînes exactes des champs en décrivant les espaces et tabulations, ainsi que le résultat d’acceptation attendu. Évitez les exemples masquant les caractères discutés. Comparez ces tests à la règle déclarée de suppression des espaces avant d’adopter une normalisation plus permissive.
Leniora · Mis à jour 2026-10-25