python / python/cpython

optimize code for proxy handling of `urllib.request`

Ouverte
#127,753 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

performance stdlib type-feature
Langage dominant
Python
Étoiles
77.2k
Forks
35.9k
Métriques de merge des PR
Métriques de PR en attente

Description

Feature or enhancement

Proposal:
  1. the second loop of line starts from 1845 is duplicated from the first loop.
    https://github.com/python/cpython/blob/2041a95e68ebf6d13f867e214ada28affa830669/Lib/urllib/request.py#L1817-L1853
  2. the registry access should be separated to a standalone function for cache, to be used by code like https://github.com/aio-libs/aiohttp/blob/e79b2d5df70a2644e81925cc49558962af91848d/aiohttp/client.py#L609-L617
    https://github.com/python/cpython/blob/2041a95e68ebf6d13f867e214ada28affa830669/Lib/urllib/request.py#L2071-L2104
  3. the proxy setting from registry should be ignored when if proxies from environment exists? like the proxy_bypass()

Should open a PR?

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs
  • gh-127767

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans Lib/urllib/request.py autour des lignes 1817-1853 et 2071-2104, puis comparez la gestion des proxies de aiohttp liée. Clarifiez si l’objectif inclut la déduplication des boucles, l’extraction de l’accès au registre mis en cache et la priorité donnée aux proxies d’environnement ; le travail est terminé lorsque le comportement des proxies convenu est implémenté et couvert par des tests urllib.request appropriés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
networking
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.