HttpRequestData - com escopo
A API HttpRequestData fornece métodos para criar e manipular uma solicitação REST antes de aplicar uma assinatura e enviá-la para um endpoint.
- HttpRequestData: crie a solicitação de API.
- AuthCredential: crie um objeto de credencial ou atualize um existente. Use a credencial para assinar a solicitação por meio da classe RequestAuthAPI.
- RequestAuthAPI: assine a solicitação e retorne um objeto HttpRequestAuthedData.
- HttpRequestAuthedData: obtenha informações sobre a solicitação assinada.
- GlideHTTPRequest: envia a solicitação assinada.
Antes de usar essas APIs, você deve configurar 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 o identificador de namespace sn_auth. Você pode instanciar esta classe usando o construtor ou pode retornar um objeto HttpRequestData do método getHttpRequestData() na classe RequestAuthAPI.
HttpRequestData - HttpRequestData()
Instancia um objeto HttpRequestData.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
var httpRequestData = new sn_auth.HttpRequestData();
HttpRequestData - addHeader(Chave de cadeia de caracteres Valor 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(cadeia de caracteres chave)
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 à etapa REST Integration Hub.
| 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(cadeia de caracteres name)
Retorna o valor de um atributo de conexão associado ao alias de conexão e credencial associado à Integration Hub etapa REST.
Para obter mais informações sobre atributos de conexão, consulte Criação de atributos de conexão para o Hub de integração.
| 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 a API setDirective().
| 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 a partir de quando a solicitação foi assinada usando o método generateAuth() na classe RequestAuthAPI.
A expiração é normalmente definida pelo serviço de terceiros para o qual você está enviando a solicitação, que substitui qualquer valor definido pelo método setExpiry(). Por exemplo, se a expiração for definida como 900 segundos pelo serviço de terceiros e você usar o método setExpiry() para definir a expiração para 300 segundos, o método getExpiry() retornará 900 segundos.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | Tempo antes de a assinatura expirar. 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 – getHttpMethod()
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(cadeia de caracteres chave)
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 o valor será obtido. |
| 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(Number date)
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 a hora em que você gerou a assinatura; definir manualmente este valor pode fazer com que a solicitação de assinatura falhe.
| 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:
Padrão: 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 a solicitação será enviada. 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 o método generateAuth() na classe RequestAuthAPI.
A expiração é normalmente definida pelo serviço de terceiros para o qual você está enviando a solicitação, que substitui qualquer valor definido pelo método setExpiry(). Por exemplo, se a expiração for definida como 900 segundos pelo serviço de terceiros e você usar o método setExpiry() para definir a expiração para 300 segundos, o método getExpiry() retornará 900 segundos.
| Nome | Tipo | Descrição |
|---|---|---|
| Expiração | Número | Quantidade de 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(cadeia de caracteres host)
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 – setHttpMethod(cadeia de caracteres httpMethod)
Define o método HTTP a ser usado na solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| httpMétodo | 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(cadeia de caracteres região)
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(cadeia de caracteres serviço)
Define o serviço para a solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| serviço | Cadeia de caracteres | O serviço para a solicitação. |
| Tipo | Descrição |
|---|---|
| vazio |
var endpoint= "https://s3.amazonaws.com";
var httpRequestData = new sn_auth.HttpRequestData();
httpRequestData.setEndpoint(endpoint);
httpRequestData.setService('s3');