HttpRequestData – Scoped
Die HttpRequestData- API bietet Methoden zum Erstellen und Bearbeiten einer REST-Anforderung, bevor eine Signatur angewendet und an einen Endpunkt gesendet wird.
- HttpRequestData: Erstellen Sie die API-Anforderung.
- AuthCredential: Erstellen Sie ein Anmeldeinformationsobjekt, oder aktualisieren Sie ein vorhandenes. Verwenden Sie die Anmeldeinformationen, um die Anforderung über die RequestAuthAPI -Klasse zu signieren.
- RequestAuthAPI: Signiert die Anforderung und gibt ein HttpRequestAuthedData-Objekt zurück.
- HttpRequestAuthedData: Informationen zur signierten Anforderung abrufen.
- GlideHTTPRequest: Senden Sie die signierte Anforderung.
Bevor Sie diese APIs verwenden, müssen Sie einen Authentifizierungsalgorithmus konfigurieren, um die Anforderung zu signieren und den Anmeldeinformationen zuzuordnen, die zur Authentifizierung der Anforderung verwendet werden.
Verwenden Sie diese API in bereichsbezogenen Skripts mit dem Namespace-Identifier sn_auth. Sie können diese Klasse mit dem Konstruktor instanziieren, oder Sie können ein HttpRequestData-Objekt von der getHttpRequestData()- Methode in der RequestAuthAPI -Klasse zurückgeben.
HttpRequestData – HttpRequestData()
Instantiiert ein HttpRequestData-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
var httpRequestData = new sn_auth.HttpRequestData();
HttpRequestData – addHeader(String key String value)
Fügt dem HttpRequestData-Objekt eine Kopfzeile hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| key | Zeichenfolge | Name des HTTP-Headers. |
| Wert | Zeichenfolge | Wert des HTTP-Headers. |
| Typ | Beschreibung |
|---|---|
| void |
In diesem Beispiel wird eine REST-Anforderungsnutzlast erstellt.
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(String key, String value)
Fügt dem HttpRequestData-Objekt einen Abfrageparameter hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| key | Zeichenfolge | Name des Abfrageparameters. |
| Wert | Zeichenfolge | Wert des Abfrageparameters. |
| Typ | Beschreibung |
|---|---|
| void |
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(String key)
Entfernt eine Kopfzeile aus dem HttpRequestData-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| key | Zeichenfolge | Name des zu entfernenden HTTP-Headers. |
| Typ | Beschreibung |
|---|---|
| void |
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()
Gibt die sys_id des Alias für Verbindungen und Anmeldeinformationen zurück, der dem REST-Schritt IntegrationHub zugeordnet ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Sys_id des Aliasdatensatzes aus der Tabelle für Aliasse für Verbindungen und Anmeldeinformationen [sys_alias], die der Anforderung zugeordnet ist. |
var httpRequestData = new sn_auth.HttpRequestData();
var id = httpRequestData.getConnectionAliasID();
var credential = new sn_cc.ConnectionInfoProvider().
var connectionInfo = credential.getConnectionInfo(id);
HttpRequestData – getConnectionExtendedAttribute(String name)
Gibt den Wert eines Verbindungsattributs zurück, das dem Alias für Verbindungen und Anmeldeinformationen zugeordnet ist, der dem REST-Schritt IntegrationHub zugeordnet ist.
Weitere Informationen zu Verbindungsattributen finden Sie unter Verbindungsattribute für IntegrationHub erstellen.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Name des Verbindungsattributs. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Wert des Verbindungsattributs. |
In diesem Beispiel wird der Wert eines Verbindungsattributs zurückgegeben, das für den Alias für Verbindungen und Anmeldeinformationen festgelegt ist, der dem REST-Schritt zugeordnet ist.
var httpRequestData = new sn_auth.HttpRequestData();
gs.info("API Version is: " + httpRequestData.getConnectionExtendedAttribute('api_version'));
HttpRequestData – getContent()
Gibt den Inhalt der Anforderung im HttpRequestData-Objekt zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Inhalt der Anforderung. |
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();
Ausgabe:
Action=SendMessage&MessageBody=This is a test message
HttpRequestData – getDate()
Gibt das Datum zurück, an dem die Anforderung unterzeichnet wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Nummer | Die Differenz zwischen dem 1. Januar 1970 UTC und dem Zeitpunkt der Unterzeichnung der Anforderung. Einheit: Millisekunden |
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());
Ausgabe:
Date: 1349333576093
HttpRequestData – getDirective()
Gibt zurück, ob die Signatur auf die Anforderung im Header oder als Abfrageparameter angewendet wird.
Standardmäßig wendet das System die Signatur auf den Header an. Sie können die Signatur als Abfrageparameter mit der setDirective()- API anwenden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Gibt an, ob die Signatur auf den Header oder als Abfrageparameter angewendet wird. Werte:
|
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() );
Ausgabe:
Signature applied to: HEADER
HttpRequestData – getEndpoint()
Gibt den für die Anforderung festgelegten Endpunkt zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Für die Anforderung festgelegter Endpunkt. |
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() );
Ausgabe:
Endpoint is: https://s3.amazonaws.com
HttpRequestData – getExpiry()
Gibt die Zeit in Sekunden zurück, bevor die Signatur abläuft, beginnend mit dem Zeitpunkt, zu dem die Anforderung mit der generateAuth()- Methode in der RequestAuthAPI -Klasse signiert wurde.
Der Ablauf wird üblicherweise vom Drittanbieterservice festgelegt, an den Sie die Anforderung senden, der alle von der setExpiry()- Methode festgelegten Werte überschreibt. Wenn der Ablauf beispielsweise vom Drittanbieterservice auf 900 Sekunden festgelegt wird und Sie die setExpiry()- Methode verwenden, um den Ablauf auf 300 Sekunden festzulegen, gibt die getExpiry()- Methode 900 Sekunden zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Nummer | Zeit bis zum Ablauf der Signatur. Einheit: Sekunden |
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());
Ausgabe:
Signature expires in: 300
HttpRequestData – getHeader(String key)
Gibt den Wert zurück, der dem angegebenen HTTP-Header zugeordnet ist.
| Name | Typ | Beschreibung |
|---|---|---|
| key | Zeichenfolge | Name des HTTP-Headers. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Wert des angegebenen HTTP-Headers. |
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') );
Ausgabe:
Header value is: public-read
HttpRequestData – getHeaderMap()
Gibt ein Objekt zurück, das die in der Anforderung enthaltenen Kopfzeilen enthält.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Schlüssel-Wert-Paare, die alle der Anforderung zugeordneten Header definieren. Jedes Schlüssel-Wert-Paar enthält die folgenden Teile:
|
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);
}
Ausgabe:
*** Script: x-amz-acl
*** Script: content-type
HttpRequestData – getHost()
Gibt den in der Anforderung verwendeten Host zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | In der Anforderung verwendeter Host. |
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());
Ausgabe:
Host is: myHost
HttpRequestData – getHttpMethod()
Gibt die in der Anforderung verwendete HTTP-Methode zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | In der Anforderung verwendete HTTP-Methode. |
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());
Ausgabe:
HTTP method is: PUT
HttpRequestData – getQueryParam(String key)
Gibt den Wert des angegebenen Abfrageparameters zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| key | Zeichenfolge | Name des Abfrageparameters, dessen Wert abgerufen werden soll. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Wert des Abfrageparameters. |
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'));
Ausgabe:
API version is: v2
HttpRequestData – getQueryParamMap()
Gibt ein Objekt zurück, das die in der Anforderung enthaltenen Abfrageparameter enthält.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Schlüssel-Wert-Paare, die die der Anforderung zugeordneten Abfrageparameter definieren. Jedes Schlüssel-Wert-Paar enthält die folgenden Teile:
|
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']);
Ausgabe:
api_version is: v2
HttpRequestData – getRegion()
Gibt die Region für die Anforderung zurück, die beim Signieren verwendet wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Name der Region. |
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());
Ausgabe:
Region is: us-east-1
HttpRequestData – getService()
Gibt den in der Anforderung definierten Service zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | In der Anforderung definierter Service. |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
gs.info("Service is: " + httpRequestData.getService());
Ausgabe:
Service is: s3
HttpRequestData – setContent(String content)
Definiert den Inhalt, der in der Anforderung gesendet werden soll.
| Name | Typ | Beschreibung |
|---|---|---|
| content | Zeichenfolge | Inhalt, der in der Anforderung gesendet werden soll. |
| Typ | Beschreibung |
|---|---|
| void |
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(Number date)
Definiert das Datum der zum Signieren verwendeten Anforderung.
Verwenden Sie diese Methode nur, wenn Sie testen, ob die Signatur basierend auf einem Zeitstempel korrekt erstellt wurde. In der Produktion verwendet die Signaturanforderung die Zeit, zu der Sie die Signatur generiert haben. Wenn dieser Wert manuell festgelegt wird, kann dies dazu führen, dass die Signaturanforderung fehlschlägt.
| Name | Typ | Beschreibung |
|---|---|---|
| Datum | Nummer | Die Differenz zwischen dem 1. Januar 1970 (UTC) und dem Datum, das zum Signieren der Anforderung verwendet wurde. Einheit: Millisekunden |
| Typ | Beschreibung |
|---|---|
| void |
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(String direktive)
Definiert, ob die Signatur auf die Anforderung in einem Header oder als Abfrageparameter angewendet werden soll.
| Name | Typ | Beschreibung |
|---|---|---|
| Direktive | Zeichenfolge | Gibt an, ob die Signatur auf den Header oder als Abfrageparameter angewendet werden soll. Werte:
Standard: Header |
| Typ | Beschreibung |
|---|---|
| void |
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(String endpoint)
Definiert den Endpunkt, an den die Anforderung gesendet werden soll.
| Name | Typ | Beschreibung |
|---|---|---|
| endpoint | Zeichenfolge | Endpunkt, an den die Anforderung gesendet werden soll. Der Endpunkt kann Abfrageparameter, Pfad und Version enthalten. |
| Typ | Beschreibung |
|---|---|
| void |
var endpoint="https://third-party-endpoint/path-parameters/version";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
HttpRequestData – setExpiry(Number expiry)
Legt die Zeitspanne fest, nach der die Signatur abläuft, beginnend mit dem Signieren der Anforderung mit der generateAuth()- Methode in der RequestAuthAPI -Klasse.
Der Ablauf wird üblicherweise vom Drittanbieterservice festgelegt, an den Sie die Anforderung senden, der alle von der setExpiry()- Methode festgelegten Werte überschreibt. Wenn der Ablauf beispielsweise vom Drittanbieterservice auf 900 Sekunden festgelegt wird und Sie die setExpiry()- Methode verwenden, um den Ablauf auf 300 Sekunden festzulegen, gibt die getExpiry()- Methode 900 Sekunden zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| expiry | Nummer | Zeitspanne, bis die Signatur abläuft. Einheit: Sekunden |
| Typ | Beschreibung |
|---|---|
| void |
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(String host)
Definiert den in der Anforderung verwendeten Host.
| Name | Typ | Beschreibung |
|---|---|---|
| host | Zeichenfolge | Name des HTTP-Anforderungshosts. |
| Typ | Beschreibung |
|---|---|
| void |
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)
Legt die in der Anforderung zu verwendende HTTP-Methode fest.
| Name | Typ | Beschreibung |
|---|---|---|
| httpMethod | Zeichenfolge | In der Anforderung zu verwendende HTTP-Methode. |
| Typ | Beschreibung |
|---|---|
| void |
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(String region)
Definiert die Region, die für die Anforderung beim Signieren verwendet werden soll.
| Name | Typ | Beschreibung |
|---|---|---|
| region | Zeichenfolge | Die zum Signieren der Anforderung zu verwendende Region. Verfügbare Werte werden durch die Anforderungen der Drittanbieter-API bestimmt. |
| Typ | Beschreibung |
|---|---|
| void |
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(String service)
Definiert den Service für die Anforderung.
| Name | Typ | Beschreibung |
|---|---|---|
| service | Zeichenfolge | Der Service für die Anforderung. |
| Typ | Beschreibung |
|---|---|
| void |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');