HttpRequestData - Com escopo
. HttpRequestData A API fornece métodos para criar e manipular uma solicitação REST antes de aplicar uma assinatura e enviá-la a um endpoint.
- HttpRequestData : Crie a solicitação de API.
- AuthCredential : Crie um objeto de credencial ou atualize um objeto existente. Use a credencial para assinar a solicitação por meio do RequestAuthAPI classe.
- RequestAuthAPI : Assine a solicitação e retorne um objeto HttpRequestAuthedData.
- HttpRequestAuthedData : Obter informações sobre a solicitação assinada.
- GlideHTTPRequest : Enviar a solicitação assinada.
Antes de usar essas APIs, você deve configure um algoritmo de autenticação para assinar a solicitação e associá-la à credencial usada para autenticar a solicitação.
Use esta API em scripts com escopo com sn_auth identificador de namespace. Você pode instanciar esta classe usando o construtor ou retornar um objeto HtttpRequestData do GetHttpRequestData() método no RequestAuthAPI classe.
HttpRequestData - HtttpRequestData()
Instancia um objeto HttpRequestData.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
var httpRequestData = new sn_auth.HttpRequestData();
HttpRequestData - addHeader(Valor da cadeia de caracteres da chave de cadeia de caracteres)
Adiciona um cabeçalho ao objeto HttpRequestData.
| Nome | Tipo | Descrição |
|---|---|---|
| chave | Cadeia de caracteres | Nome do cabeçalho HTTP. |
| valor | Cadeia de caracteres | Valor do cabeçalho HTTP. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo cria uma carga de solicitação 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(Chave de cadeia de caracteres, valor de cadeia de caracteres)
Adiciona um parâmetro de consulta ao objeto HttpRequestData.
| Nome | Tipo | Descrição |
|---|---|---|
| chave | Cadeia de caracteres | Nome do parâmetro de consulta. |
| valor | Cadeia de caracteres | Valor do parâmetro de consulta. |
| Tipo | Descrição |
|---|---|
| vazio |
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(chave de cadeia de caracteres)
Remove um cabeçalho do objeto HttpRequestData.
| Nome | Tipo | Descrição |
|---|---|---|
| chave | Cadeia de caracteres | Nome do cabeçalho HTTP a ser removido. |
| Tipo | Descrição |
|---|---|
| vazio |
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()
Retorna o sys_id do alias de conexão e credencial associado ao IntegrationHub Etapa REST.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Sys_id do registro de alias da tabela Aliases de conexão e credencial [sys_alias] associada à solicitação. |
var httpRequestData = new sn_auth.HttpRequestData();
var id = httpRequestData.getConnectionAliasID();
var credential = new sn_cc.ConnectionInfoProvider().
var connectionInfo = credential.getConnectionInfo(id);
HttpRequestData - getConnectionExtendedAttribute(nome da cadeia de caracteres)
Retorna o valor de um atributo de conexão associado ao alias de conexão e credencial associado a. IntegrationHub Etapa REST.
Para obter mais informações sobre atributos de conexão, consulte Criar atributos de conexão para IntegrationHub.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do atributo de conexão. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor do atributo de conexão. |
Este exemplo retorna o valor de um atributo de conexão definido no alias de conexão e credencial associado à etapa REST.
var httpRequestData = new sn_auth.HttpRequestData();
gs.info("API Version is: " + httpRequestData.getConnectionExtendedAttribute('api_version'));
HttpRequestData - getContent()
Retorna o conteúdo da solicitação no objeto HttpRequestData.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Conteúdo da solicitação. |
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();
Saída:
Action=SendMessage&MessageBody=This is a test message
HttpRequestData - getDate()
Retorna a data em que a solicitação foi assinada.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | A diferença entre 1 de janeiro de 1970 UTC e quando a solicitação foi assinada. Unidade: Milissegundos |
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());
Saída:
Date: 1349333576093
HttpRequestData - getDirective()
Retorna se a assinatura é aplicada à solicitação no cabeçalho ou como um parâmetro de consulta.
Por padrão, o sistema aplica a assinatura ao cabeçalho. Você pode aplicar a assinatura como um parâmetro de consulta usando SetDirective() API.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Se a assinatura é aplicada ao cabeçalho ou como um parâmetro de consulta. Os valores incluem:
|
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() );
Saída:
Signature applied to: HEADER
HttpRequestData - getEndpoint()
Retorna o endpoint definido para a solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Endpoint definido para a solicitação. |
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() );
Saída:
Endpoint is: https://s3.amazonaws.com
HttpRequestData - getExpiry()
Retorna o tempo em segundos antes que a assinatura expire, começando quando a solicitação foi assinada usando GenerateAuth() método no RequestAuthAPI classe.
Normalmente, a expiração é definida pelo serviço de terceiros para o qual você está enviando a solicitação, o que substitui qualquer valor definido pelo SetExpiry() método. Por exemplo, se a expiração for definida como 900 segundos pelo serviço de terceiros e você usar SetExpiry() método para definir a expiração como 300 segundos, o. GetExpiry() o método retorna 900 segundos.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | Tempo antes que a assinatura expire. Unidade: segundos |
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());
Saída:
Signature expires in: 300
HttpRequestData - getHeader(chave de cadeia de caracteres)
Retorna o valor associado ao cabeçalho HTTP fornecido.
| Nome | Tipo | Descrição |
|---|---|---|
| chave | Cadeia de caracteres | Nome do cabeçalho HTTP. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor do cabeçalho HTTP fornecido. |
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') );
Saída:
Header value is: public-read
HttpRequestData - getHeaderMap()
Retorna um objeto que contém os cabeçalhos incluídos na solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Pares de chave-valor que definem todos os cabeçalhos associados à solicitação. Cada par de chave-valor inclui estas partes:
|
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);
}
Saída:
*** Script: x-amz-acl
*** Script: content-type
HttpRequestData - getHost()
Retorna o host usado na solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Host usado na solicitação. |
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());
Saída:
Host is: myHost
HttpRequestData - getHtttpMethod()
Retorna o método HTTP usado na solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Método HTTP usado na solicitação. |
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());
Saída:
HTTP method is: PUT
HttpRequestData - getQueryParam(chave de cadeia de caracteres)
Retorna o valor do parâmetro de consulta especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| chave | Cadeia de caracteres | Nome do parâmetro de consulta do qual obter o valor. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor do parâmetro de consulta. |
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'));
Saída:
API version is: v2
HttpRequestData - getQueryParamMap()
Retorna um objeto que contém os parâmetros de consulta incluídos na solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Pares de chave-valor que definem os parâmetros de consulta associados à solicitação. Cada par de chave-valor inclui estas partes:
|
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']);
Saída:
api_version is: v2
HttpRequestData - getRegion()
Retorna a região da solicitação que será usada na assinatura.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Nome da região. |
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());
Saída:
Region is: us-east-1
HttpRequestData - getService()
Retorna o serviço definido na solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Serviço definido na solicitação. |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');
gs.info("Service is: " + httpRequestData.getService());
Saída:
Service is: s3
HttpRequestData - setContent(conteúdo de cadeia de caracteres)
Define o conteúdo a ser enviado na solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| conteúdo | Cadeia de caracteres | Conteúdo a ser enviado na solicitação. |
| Tipo | Descrição |
|---|---|
| vazio |
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(data numérica)
Define a data da solicitação usada para assinatura.
Use este método somente ao testar se a assinatura foi criada corretamente com base em um carimbo de data/hora. Na produção, a solicitação de assinatura usa o tempo em que você gerou a assinatura; definir manualmente esse valor pode causar falha na solicitação de assinatura.
| Nome | Tipo | Descrição |
|---|---|---|
| data | Número | A diferença entre 1 de janeiro de 1970 UTC e a data usada para assinar a solicitação. Unidade: Milissegundos |
| Tipo | Descrição |
|---|---|
| vazio |
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(diretiva de cadeia de caracteres)
Define se a assinatura deve ser aplicada à solicitação em um cabeçalho ou como um parâmetro de consulta.
| Nome | Tipo | Descrição |
|---|---|---|
| diretiva | Cadeia de caracteres | Se a assinatura deve ser aplicada ao cabeçalho ou como um parâmetro de consulta. Os valores incluem:
Cabeçalho |
| Tipo | Descrição |
|---|---|
| vazio |
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(endpoint de cadeia de caracteres)
Define o endpoint para o qual a solicitação será enviada.
| Nome | Tipo | Descrição |
|---|---|---|
| endpoint | Cadeia de caracteres | Endpoint para o qual enviar a solicitação. O endpoint pode incluir parâmetros de consulta, caminho e versão. |
| Tipo | Descrição |
|---|---|
| vazio |
var endpoint="https://third-party-endpoint/path-parameters/version";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
HttpRequestData - setExpiry (expiração do número)
Define a quantidade de tempo antes que a assinatura expire, começando quando a solicitação é assinada usando GenerateAuth() método no RequestAuthAPI classe.
Normalmente, a expiração é definida pelo serviço de terceiros para o qual você está enviando a solicitação, o que substitui qualquer valor definido pelo SetExpiry() método. Por exemplo, se a expiração for definida como 900 segundos pelo serviço de terceiros e você usar SetExpiry() método para definir a expiração como 300 segundos, o. GetExpiry() o método retorna 900 segundos.
| Nome | Tipo | Descrição |
|---|---|---|
| expiração | Número | Tempo antes que a assinatura expire. Unidade: segundos |
| Tipo | Descrição |
|---|---|
| vazio |
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(host de cadeia de caracteres)
Define o host usado na solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| Host | Cadeia de caracteres | Nome do host da solicitação HTTP. |
| Tipo | Descrição |
|---|---|
| vazio |
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 - setHtttpMethod(cadeia de caracteres HTTPTMethod)
Define o método HTTP a ser usado na solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| métodoHttp | Cadeia de caracteres | Método HTTP a ser usado na solicitação. |
| Tipo | Descrição |
|---|---|
| vazio |
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(região de cadeia de caracteres)
Define a região a ser usada para a solicitação na assinatura.
| Nome | Tipo | Descrição |
|---|---|---|
| região | Cadeia de caracteres | A região a ser usada para assinar a solicitação. Os valores disponíveis são determinados pelos requisitos da API de terceiros. |
| Tipo | Descrição |
|---|---|
| vazio |
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(serviço de cadeia de caracteres)
Define o serviço da solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| serviço | Cadeia de caracteres | O serviço da solicitação. |
| Tipo | Descrição |
|---|---|
| vazio |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');