HttpRequestData : inclus dans le périmètre
L’API HttpRequestData fournit des méthodes permettant de créer et de manipuler une demande REST avant d’appliquer une signature et de l’envoyer à un point de terminaison.
- HttpRequestData : générer la demande d’API.
- AuthCredential : créer un objet d’informations d’identification ou mettre à jour un objet existant. Utilisez les informations d’identification pour signer la demande via la classe RequestAuthAPI .
- RequestAuthAPI : signer la requête et renvoyer un objet HttpRequestAuthedData.
- HttpRequestAuthedData : obtenir des informations sur la demande signée.
- GlideHTTPRequest : envoyer la demande signée.
Avant d’utiliser ces API, vous devez configurer un algorithme d’authentification pour signer la demande et l’associer aux informations d’identification utilisées pour authentifier la demande.
Utilisez cette API dans les scripts inclus dans le périmètre avec l’identificateur d’espace de noms sn_auth. Vous pouvez instancier cette classe à l’aide du constructeur, ou vous pouvez renvoyer un objet HttpRequestData à partir de la méthode getHttpRequestData() dans la classe RequestAuthAPI .
HttpRequestData : HttpRequestData()
Instancie un objet HttpRequestData.
| Nom | Type | Description |
|---|---|---|
| Néant |
var httpRequestData = new sn_auth.HttpRequestData();
HttpRequestData : addHeader(Clé de chaîne Valeur de chaîne)
Ajoute un en-tête à l’objet HttpRequestData.
| Nom | Type | Description |
|---|---|---|
| clé | Chaîne | Nom de l’en-tête HTTP. |
| valide | Chaîne | Valeur de l’en-tête HTTP. |
| Type | Description |
|---|---|
| nul |
Cet exemple crée une charge utile de demande REST.
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod("PUT");
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addHeader('x-amz-acl', 'public-read' );
HttpRequestData : addQueryParam(Clé de chaîne, valeur de chaîne)
Ajoute un paramètre de requête à l’objet HttpRequestData.
| Nom | Type | Description |
|---|---|---|
| clé | Chaîne | Nom du paramètre de requête. |
| valide | Chaîne | Valeur du paramètre de requête. |
| Type | Description |
|---|---|
| nul |
var endpoint= "https://third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addQueryParam('api_version', 'v2 );
HttpRequestData : deleteHeader(clé de chaîne)
Supprime un en-tête de l’objet HttpRequestData.
| Nom | Type | Description |
|---|---|---|
| clé | Chaîne | Nom de l’en-tête HTTP à supprimer. |
| Type | Description |
|---|---|
| nul |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.deleteHeader('x-amz-acl');
HttpRequestData : getConnectionAliasID()
Renvoie le sys_id de l’alias de connexion et d’informations d’identification associé à l’étape Hub d'intégration REST.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Sys_id de l’enregistrement d’alias à partir de la table Alias de connexion et d’informations d’identification [sys_alias] associée à la demande. |
var httpRequestData = new sn_auth.HttpRequestData();
var id = httpRequestData.getConnectionAliasID();
var credential = new sn_cc.ConnectionInfoProvider().
var connectionInfo = credential.getConnectionInfo(id);
HttpRequestData : getConnectionExtendedAttribute (nom de chaîne)
Renvoie la valeur d’un attribut de connexion associé à l’alias de connexion et d’informations d’identification associé à l’étape Hub d'intégration REST.
Pour plus d’informations sur les attributs de connexion, consultez Créer des attributs de connexion pour Hub d'intégration.
| Nom | Type | Description |
|---|---|---|
| nom | Chaîne | Nom de l’attribut de connexion. |
| Type | Description |
|---|---|
| Chaîne | Valeur de l’attribut de connexion. |
Cet exemple renvoie la valeur d’un attribut de connexion défini sur l’alias de connexion et d’informations d’identification associé à l’étape REST.
var httpRequestData = new sn_auth.HttpRequestData();
gs.info("API Version is: " + httpRequestData.getConnectionExtendedAttribute('api_version'));
HttpRequestData : getContent()
Renvoie le contenu de la demande dans l’objet HttpRequestData.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Contenu de la demande. |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addHeader('x-amz-acl' , 'public-read' );
var ct = httpRequestData.getContent();
Sortie :
Action=SendMessage&MessageBody=This is a test message
HttpRequestData : getDate()
Renvoie la date à laquelle la demande a été signée.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Numéro | La différence entre le 1er janvier 1970 UTC et le moment où la demande a été signée. Unité : millisecondes |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.addQueryParam("list-type", "2");
httpRequestData.setService('s3');
httpRequestData.setHttpMethod('get');
gs.info( "Date: " + httpRequestData.getDate());
Sortie :
Date: 1349333576093
HttpRequestData : getDirective()
Indique si la signature est appliquée à la demande dans l’en-tête ou en tant que paramètre de requête.
Par défaut, le système applique la signature à l’en-tête. Vous pouvez appliquer la signature en tant que paramètre de requête à l’aide de l’API setDirective().
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Que la signature soit appliquée à l’en-tête ou en tant que paramètre de requête. Les valeurs comprennent :
|
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.addQueryParam("list-type", "2");
httpRequestData.setService('s3');
httpRequestData.setHttpMethod('get');
gs.info( "Signature applied to: " + httpRequestData.getDirective() );
Sortie :
Signature applied to: HEADER
HttpRequestData : getEndpoint()
Renvoie l’ensemble de points de terminaison pour la demande.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Point de terminaison défini pour la demande. |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.addQueryParam("list-type", "2");
httpRequestData.setService('s3');
httpRequestData.setHttpMethod('get');
httpRequestData.setDirective("query");
gs.info( "Endpoint is: " + httpRequestData.getEndpoint() );
Sortie :
Endpoint is: https://s3.amazonaws.com
HttpRequestData : getExpiry()
Renvoie le délai en secondes avant l’expiration de la signature à partir du moment où la demande a été signée à l’aide de la méthode generateAuth() dans la classe RequestAuthAPI .
La date d’expiration est généralement définie par le service tiers auquel vous envoyez la demande, qui remplace toute valeur définie par la méthode setExpiry( ). Par exemple, si l’expiration est définie sur 900 secondes par le service tiers et que vous utilisez la méthode setExpiry() pour définir l’expiration à 300 secondes, la méthode getExpiry() renvoie 900 secondes.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Numéro | Délai avant l’expiration de la signature. Unité : Secondes |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.addQueryParam("list-type", "2");
httpRequestData.setService('s3');
httpRequestData.setHttpMethod('get');
httpRequestData.setDirective("query");
httpRequestData.setExpiry(300);
gs.info("Signature expires in: " + httpRequestData.getExpiry());
Sortie :
Signature expires in: 300
HttpRequestData : getHeader(clé de chaîne)
Renvoie la valeur associée à l’en-tête HTTP donné.
| Nom | Type | Description |
|---|---|---|
| clé | Chaîne | Nom de l’en-tête HTTP. |
| Type | Description |
|---|---|
| Chaîne | Valeur de l’en-tête HTTP donné. |
var endpoint= "https://third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addHeader('x-amz-acl', 'public-read' );
gs.info( "Header value is: " + httpRequestData.getHeader('x-amz-acl') );
Sortie :
Header value is: public-read
HttpRequestData : getHeaderMap()
Renvoie un objet contenant les en-têtes inclus dans la demande.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Paires clé-valeur qui définissent tous les en-têtes associés à la demande. Chaque paire clé-valeur comprend les parties suivantes :
|
var endpoint= "https://third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addHeader('x-amz-acl', 'public-read' );
httpRequestData.addHeader('content-type', 'application/json' );
var map = httpRequestData.getHeaderMap();
for(var x in map) {
var y = map[x]
gs.info(x, y);
}
Sortie :
*** Script: x-amz-acl
*** Script: content-type
HttpRequestData : getHost()
Renvoie l’hôte utilisé dans la demande.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Hôte utilisé dans la demande. |
var endpoint= "https://third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setHost('myHost')
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addHeader('x-amz-acl' , 'public-read' );
gs.info("Host is: " + httpRequestData.getHost());
Sortie :
Host is: myHost
HttpRequestData : getHttpMethod()
Renvoie la méthode HTTP utilisée dans la demande.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Méthode HTTP utilisée dans la demande. |
var endpoint= "https://third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addHeader('x-amz-acl', 'public-read' );
gs.info("HTTP method is: " + httpRequestData.getHttpMethod());
Sortie :
HTTP method is: PUT
HttpRequestData : getQueryParam(clé de chaîne)
Renvoie la valeur du paramètre de requête spécifié.
| Nom | Type | Description |
|---|---|---|
| clé | Chaîne | Nom du paramètre de requête dont vous souhaitez obtenir la valeur. |
| Type | Description |
|---|---|
| Chaîne | Valeur du paramètre de requête. |
var endpoint= "https://third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addQueryParam('api_version', 'v2' );
gs.info("API version is: " + httpRequestData.getQueryParam('api_version'));
Sortie :
API version is: v2
HttpRequestData : getQueryParamMap()
Renvoie un objet contenant les paramètres de requête inclus dans la demande.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Paires clé-valeur qui définissent les paramètres de requête associés à la demande. Chaque paire clé-valeur comprend les parties suivantes :
|
var endpoint= "https://third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addQueryParam('api_version', 'v2' );
httpRequestData.addQueryParam('limit', '1000' );
httpRequestData.addQueryParam('offset', '1' );
var map = httpRequestData.getQueryParamMap();
gs.info("api_version is: " + map['api_version']);
Sortie :
api_version is: v2
HttpRequestData : getRegion()
Renvoie la région de la demande qui sera utilisée lors de la signature.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Nom de la région. |
var endpoint= "https://third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
gs.info("Region is: " + httpRequestData.getRegion());
Sortie :
Region is: us-east-1
HttpRequestData : getService()
Renvoie le service défini dans la demande.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Service défini dans la demande. |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
gs.info("Service is: " + httpRequestData.getService());
Sortie :
Service is: s3
HttpRequestData : setContent(contenu de la chaîne)
Définit le contenu à envoyer dans la demande.
| Nom | Type | Description |
|---|---|---|
| contenu | Chaîne | Contenu pour envoyer la demande. |
| Type | Description |
|---|---|
| nul |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "This is a test message";
httpRequestData.setContent(content);
HttpRequestData : setDate(date numérique)
Définit la date de la demande utilisée pour la signature.
Utilisez cette méthode uniquement lorsque vous testez si la signature est créée correctement en fonction d’un horodatage. En production, la demande de signature utilise l’heure à laquelle vous avez généré la signature ; La définition manuelle de cette valeur peut entraîner l’échec de la demande de signature.
| Nom | Type | Description |
|---|---|---|
| date | Numéro | La différence entre le 1er janvier 1970 UTC et la date utilisée pour signer la demande. Unité : millisecondes |
| Type | Description |
|---|---|
| nul |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.addQueryParam("list-type", "2");
httpRequestData.setService('s3');
httpRequestData.setHttpMethod('get');
httpRequestData.setDate(1349333576093);
HttpRequestData : setDirective(directive String)
Définit s’il faut appliquer la signature à la demande dans un en-tête ou en tant que paramètre de requête.
| Nom | Type | Description |
|---|---|---|
| directive | Chaîne | Indique s’il faut appliquer la signature à l’en-tête ou en tant que paramètre de requête. Les valeurs comprennent :
Par défaut : en-tête |
| Type | Description |
|---|---|
| nul |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.addQueryParam("list-type", "2");
httpRequestData.setService('s3');
httpRequestData.setHttpMethod('get');
httpRequestData.setDirective("query");
HttpRequestData : setEndpoint(point de terminaison de chaîne)
Définit le point de terminaison auquel envoyer la demande.
| Nom | Type | Description |
|---|---|---|
| endpoint | Chaîne | Point de terminaison auquel envoyer la demande. Le point de terminaison peut inclure des paramètres de requête, un chemin d’accès et une version. |
| Type | Description |
|---|---|
| nul |
var endpoint="https://third-party-endpoint/path-parameters/version";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
HttpRequestData : setExpiry(Expiration du numéro)
Définit le délai avant l’expiration de la signature à partir du moment où la demande est signée à l’aide de la méthode generateAuth() dans la classe RequestAuthAPI .
La date d’expiration est généralement définie par le service tiers auquel vous envoyez la demande, qui remplace toute valeur définie par la méthode setExpiry( ). Par exemple, si l’expiration est définie sur 900 secondes par le service tiers et que vous utilisez la méthode setExpiry() pour définir l’expiration à 300 secondes, la méthode getExpiry() renvoie 900 secondes.
| Nom | Type | Description |
|---|---|---|
| expiration | Numéro | Délai avant l’expiration de la signature. Unité : Secondes |
| Type | Description |
|---|---|
| nul |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.addQueryParam("list-type", "2");
httpRequestData.setService('s3');
httpRequestData.setHttpMethod('get');
httpRequestData.setExpiry(300);
HttpRequestData : setHost(hôte de chaîne)
Définit l’hôte utilisé dans la demande.
| Nom | Type | Description |
|---|---|---|
| hôte | Chaîne | Nom de l’hôte de demande HTTP. |
| Type | Description |
|---|---|
| nul |
var endpoint= "https:third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setHost('myHost')
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
httpRequestData.addHeader('x-amz-acl', 'public-read' );
HttpRequestData : setHttpMethod(String httpMethod)
Définit la méthode HTTP à utiliser dans la demande.
| Nom | Type | Description |
|---|---|---|
| httpMethod | Chaîne | Méthode HTTP à utiliser dans la demande. |
| Type | Description |
|---|---|
| nul |
var endpoint= "https://third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
HttpRequestData : setRegion(région de chaîne)
Définit la région à utiliser pour la demande lors de la signature.
| Nom | Type | Description |
|---|---|---|
| region | Chaîne | Région à utiliser pour signer la demande. Les valeurs disponibles sont déterminées par les exigences de l’API tierce. |
| Type | Description |
|---|---|
| nul |
var endpoint= "https:third-party-endpoint";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
httpRequestData.setRegion('us-east-1');
httpRequestData.setHttpMethod('put');
var content = "Action=SendMessage&MessageBody=This is a test message";
httpRequestData.setContent(content);
HttpRequestData : setService(service de chaîne)
Définit le service pour la demande.
| Nom | Type | Description |
|---|---|---|
| service | Chaîne | Le service pour la demande. |
| Type | Description |
|---|---|
| nul |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');