

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Personnalisez les requêtes HTTP pour AWS
<a name="customize-http-request"></a>

Il AWS SDK pour SAP ABAP gère le processus de création d'une requête HTTP, d'envoi d'une charge utile et de réception d'une réponse. Vous pouvez personnaliser le comportement ou le contenu de la requête HTTP pour répondre à vos propres besoins informatiques. Le SDK définit le point d'amélioration `/AWS1/RT_EHN_HTTP_CLIENT` comme un endroit central pour améliorer la communication HTTP. Le point d'amélioration prend en charge l'ajout d'en-têtes HTTP à la requête envoyée à AWS.

## Mettre en œuvre une amélioration
<a name="implement-enhancement"></a>

SAP fournit les instructions suivantes pour implémenter un point d'amélioration :
+ [ABAP classique](https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/5f/103a4280da9923e10000000a155106/frameset.htm)
+ [BTP ABAP](https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/creating-badi-implementations)

## Filtrer l'amélioration
<a name="filter-enhancement"></a>



Le spot d'amélioration prend en charge plusieurs implémentations qui peuvent être actives simultanément. Vous pouvez filtrer l'exécution en BAdi fonction des attributs suivants, si vous devez vous assurer que votre amélioration ne s'exécute que lors d'appels à un AWS service ou à une action d'API spécifique :
+ `TLA`- L'abréviation à trois lettres du service, en majuscules.
+ `OPERATION`- Le nom de l'action de l'API. Par exemple, l'opération pour obtenir un objet depuis un compartiment S3 est [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html). Le nom de l'action distingue les majuscules et minuscules et peut ne pas correspondre exactement au nom de la méthode ABAP.

## Codez l'amélioration
<a name="code-enhancement"></a>

L'amélioration fournit la méthode suivante.

### MODIFY\_REQ\_HEADERS
<a name="modify-req-headers"></a>

```
CHANGING CT_HEADERS TYPE /AWS1/RT_STRINGMAP_TT
```

Vous pouvez ajouter et modifier des en-têtes dans le tableau `CT_HEADERS` interne. Nous ne recommandons pas de modifier les en-têtes, car cela altère les données utilisées par le AWS service. Tous les en-têtes que vous ajoutez sont ignorés par le AWS service, mais peuvent être traités par votre infrastructure informatique, telle que les serveurs proxy ou autres intergiciels.

Le point d'amélioration est appelé avant le calcul des en-têtes d'authentification et de télémétrie, de sorte que ceux-ci ne peuvent pas être modifiés par l'amélioration.

Voici un exemple de mise en œuvre.

```
METHOD /aws1/if_rt_badi_http_client~modify_req_headers.
  APPEND VALUE /aws1/rt_stringpair_ts( name = '{{x-test-example}}' value = '{{value}}' ) 
    TO ct_headers.
ENDMETHOD.
```