Kong / Kong/httpsnippet

Specifying file mime type for multipart requests using python requests module

Ouverte
#302 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
TypeScript
Étoiles
1.2k
Forks
242
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

I'm unable to specify the mime type of the files sent as part of multipart/form-data requests using the python requests module.

I believe the relevant code is here: https://github.com/Kong/httpsnippet/blob/master/src/targets/python/requests/client.ts#L82

I was thinking we could support it by making a change like so:

if (p.fileName) {
  if (p.mimeType) {
     files[p.name] = `('${p.fileName}', open('${p.fileName}', 'rb'), '${p.mimeType}')`;
  } else {
     // current behaviour
     files[p.name] = `open('${p.fileName}', 'rb')`;
  }
  hasFiles = true;
} else {
  payload[p.name] = p.value;
  hasPayload = true;
}

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 src/targets/python/requests/client.ts vers la ligne 82 et examinez comment les fichiers multipart sont assemblés pour les snippets Python requests. Comparez la gestion actuelle des fichiers avec le comportement MIME-type proposé, puis vérifiez les tests proches ou les target fixtures s’ils existent. Le travail est terminé lorsqu’un paramètre file avec un MIME-type produit le tuple multipart demandé, tout en laissant inchangée la gestion existante des fichiers et des payloads.

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

Évaluation

Stack technique
python, typescript
Domaine
api, tooling
Type d'issue
Fonctionnalité
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

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