Class: XMLHttpRequest

@nginstack/engine/lib/net/XMLHttpRequest~ XMLHttpRequest


new XMLHttpRequest( [options])

Classe nativa que permite a comunicação entre duas aplicações por meio do protocolo HTTP. É implementado a mesma API presente nos browsers. Entretanto, não há suporte para conexões assíncronas, nem para objetos DOM(XML).

Parameters:
Name Type Argument Description
options XHRConfig <optional>

Opções da requisição a ser realizada. Para mais detalhes das opções disponíveis, veja module:@nginstack/engine/lib/net/XMLHttpRequest.

Examples
// Exemplo do consumo de uma API HTTP
const data = JSON.stringify({
  test: 'echo'
});
const authToken = 'secret-token';
const xhr = new XMLHttpRequest();
xhr.open('POST', 'https://postman-echo.com/post');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Authorization', 'Bearer ' + authToken);
xhr.send(data);
JSON.parse(xhr.responseText).data.test; // => echo
// Exemplo de uma requisição SOAP para o serviço de consulta de retorno de processamento do MDFe
const XMLHttpRequest = require('@nginstack/engine/lib/net/XMLHttpRequest');

const xml = buildXml();

const xhr = new XMLHttpRequest({
  pfxPath: File.pathAppend('certificates', 'company.pfx'),
  passphrase: 'secret_passphrase'
});
xhr.open('POST', 'https://mdfe-homologacao.svrs.rs.gov.br/ws/mdferetrecepcao/MDFeRetRecepcao.asmx');
xhr.setRequestHeader('Content-Type', 'application/soap+xml');
xhr.setRequestHeader('SOAPAction', 'urn:MDFeRetRecepcao');
xhr.send(xml);
xhr.responseText; // => xml com resultado do processamento

Members


<static> DONE :number

readyState DONE. Recebido toda a resposta.

Type:
  • number

<static> HEADERS_RECEIVED :number

readyState HEADERS_RECEIVED. Os headers foram retornados.

Type:
  • number

<static> LOADING :number

readyState LOADING. Recebendo o conteúdo da requisição

Type:
  • number

<static> OPENED :number

readyState OPENED.

Type:
  • number

<static> UNSENT :number

readyState UNSENT. O objeto foi construído

Type:
  • number

readyState :number

Indica o estado da conexão

Type:
  • number

response :string|ArrayBuffer|Object

Informa o conteúdo do corpo da resposta da requisição

Type:
See:

responseText :string

Informa o conteúdo da resposta da requisição HTTP

Type:
  • string

responseType :string

Define o tipo de dado a ser usado na propriedade response. Os possíveis valores são 'json', 'text' e 'arraybuffer'. No tipo 'json', a propriedade response equivale a invocação do método JSON.parse tendo como parâmetro o corpo da resposta da requisição. No tipo 'arraybuffer' a propriedade response retorna um ArrayBuffer contendo o conteúdo exato do corpo da requisição. Já para o tipo 'text', ou quando nenhum valor é definido, será retornado uma string na propriedade response.

Type:
  • string
See:

status :number

Informa o código retornado pelo servidor HTTP

Type:
  • number

statusText :string

Informa a descrição do status retornado pelo servidor HTTP

Type:
  • string

Methods


getAllResponseHeaders()

Obtém todos os cabeçalhos do retorno

Returns:

Todos os cabeçalhos da resposta da requisição, no formato nome: valor, separados por CRLF, com os nomes dos campos de cabeçalho normalizados em caixa baixa.

Type
string

getResponseHeader(header)

Obtém o conteúdo de um cabeçalho da resposta do servidor Http

Parameters:
Name Type Description
header string

O nome do cabeçalho

Returns:

O valor do cabeçalho

Type
string

getTimeout()

Retorna o tempo máximo configurado pelo término de uma requisição. Se não tiver sido alterado, retorna 0, indicando que é usado o tempo padrão

Returns:

O tempo configurado, em ms.

Type
number

open(method, url)

Prepara o objeto para a realização de uma conexão. Em conexões seguras, se o certificado não for válido ocorrerá um erro. Para ignorar a validade do certificado, é necessário definir a variável de ambiente do sistema operacional NGIN_TLS_REJECT_UNAUTHORIZED com o valor 0, ou informar o atributo ignoreSslErrors no construtor do objeto

Parameters:
Name Type Description
method string

Método Http a ser utilizado

url string

Url a ser utilizada


send( [data])

Envia a requisição à maquina destino.

Parameters:
Name Type Argument Description
data string | ArrayBuffer <optional>

Conteúdo a ser enviado, quando usado os métodos Post e Put.


setRequestHeader(header, value)

Define um campo do cabeçalho da requisição Http a ser enviada

Parameters:
Name Type Description
header string

Nome do campo

value string

Conteúdo do campo


setTimeout(value)

Define o tempo máximo de espera pelo término de uma requisição

Parameters:
Name Type Description
value number

O tempo máximo, em ms