Configurações de requisição
Estas são as configurações opcionais disponíveis para fazer uma requisição. Apenas a url
é obrigatória. Requisições serão setadas como padrão para GET
se nenhum method
for especificado.
{
// `url` é a url do servidor que será usada para a requisição
url: '/user',
// `method` é o método de requisição para ser usada em uma requisição
method: 'get', // padrão
// `baseURL` será pre-adicionada na url a menos que a `url` passada seja absoluta.
// Pode util definir uma `baseURL` para uma instância do axios para que possa passar URLs relativas
// para o método da instância.
baseURL: 'https://some-domain.com/api/',
// `transformRequest` permite mudar os dados da requisição antes da mesma ser enviada para o servidor
// Isto é aplicado apenas para requisições com os métodos 'PUT', 'POST', 'PATCH' e 'DELETE'
// A última função no array deve retornar uma string ou o Buffer da instância, ArrayBuffer,
// FormData ou Stream
// Você pode modificar o cabeçalho do objeto
transformRequest: [function (data, headers) {
// Faz o que quiser para transformar os dados
return data;
}],
// `transformResponse` permite mudar os dados da responsta antes de ser passado para o then/catch
transformResponse: [function (data) {
// Faça o que quiser para transformar os dados
return data;
}],
// `headers` são cabeçalhos customizáveis para serem enviados
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `params` são os parametros da URL para serem enviados junto com a requisição
// Deve sempre ser um objeto ou um objeto de URLSearchParams
params: {
ID: 12345
},
// `paramsSerializer` é uma função opcional que comanda a serialização dos `params`
// (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)
paramsSerializer: function (params) {
return Qs.stringify(params, {arrayFormat: 'brackets'})
},
// `data` são os dados a serem enviados no corpo da requisição
// Apenas aplicado em requisições com os métodos 'PUT', 'POTS', 'DELETE' e 'PATCH'
// Quando nenhum `transformRequest` é definido, deve ser um dos tipos a seguir:
// - string, objetos simples, ArrayBuffer, ArrayBufferView, URLSearchParams
// - Navegador apenas: FormData, File, Blob
// - Apenas no Node: Stream, Buffer
data: {
firstName: 'Fred'
},
// Sintaxe alternativa para enviar dados no corpo
// método post
// apenas o valor é enviado, e não as chaves
data: 'Country=Brasil&City=Guarapari',
// `timeout` expecifica o número em milisegundos antes do tempo da requisição acabar.
// Se a requisição levar um tempo maior do que o `timeout`, a requisição será abortada.
timeout: 1000, // o valor padrão do timeout é de `0` (sem intervalo)
// `withCredentials` indica se as solicitações de controle de acesso entre sites
// devem ou não ser feitas utilizando as credenciais
withCredentials: false, // padrão
// `adapter` permite o tratamento personalizado de solicitações, o que torna o teste mais fácil.
// Retorna uma promessa e fornece uma resposta valida (veja lib/adapters/README.md).
adapter: function (config) {
/* ... */
},
// `auth` indica que a autenticação básica do HTTP deve ser usada e fornece as credenciais.
// Isso vai definir um novo cabeçalho de `Authorization`, sobrescrevendo uma já existente
// `Authorization` cabeçalhos personalizados que você definiu usando `headers`.
// Por favor, note que apenas autenticação HTTP Basic é configuravel por meio deste parâmetro
// Para tokens Bearer e outros, use o cabeçalho personalizado de `Authorization`
auth: {
username: 'janedoe',
password: 's00pers3cret'
},
// `responseType` indica o tipo dos dados que o servidor irá responder
// as opções são: 'arraybuffer', 'document', 'json', 'text', 'stream'
// navegador apenas: 'blob'
responseType: 'json', // padrão
// `responseEncoding` indica a codificação a ser usada para respostas de decodificação (somente Node.js)
// Nota: Ignorado para `responseType` de 'stream' ou solicitações do lado do cliente
responseEncoding: 'utf8', // padrão
// `xsrfCookieName` é o nome do cookie para utilizar como um valor para o token xsrf
xsrfCookieName: 'XSRF-TOKEN', // padrão
// `xsrfHeaderName` é o nome do cabeçalho do http que carrega o valor do token xsrf
xsrfHeaderName: 'X-XSRF-TOKEN', // padrão
// `onUploadProgress` permite manusear o progresso do evento de upload
// apenas no navegador
onUploadProgress: function (progressEvent) {
// Faça o que quiser com o progresso nativo do evento
},
// `onDownloadProgress` permite manusear o progresso do evento para downloads
// apenas no navegador
onDownloadProgress: function (progressEvent) {
// Faça o que quiser com o progresso nativo do evento
},
// `maxContentLength` define o tamanho máximo do conteúdo da resposta http em bytes permitido no node.js
maxContentLength: 2000,
// `maxBodyLength` (Opção apenas para o Node) define o tamanho máximo permitido do conteúdo http em bytes
maxBodyLength: 2000,
// `validateStatus` define se deve resolver ou rejeitar a promessa de um determinado
// código de status de resposta HTTP. Se `validateStatus` retornar `true` (ou for definido como `null`
// ou `undefined`), a promessa será resolvida; caso contrário, a promessa será
// rejeitada.
validateStatus: function (status) {
return status >= 200 && status < 300; // padrão
},
// `maxRedirects` define um número máximo de redirecionamento para seguir em node.js
// Se definido como 0, nenhum redirecionamento será permitido
maxRedirects: 5, // padrão
// `socketPath` define um UNIX Socket para ser usado em node.js.
// e.g. '/var/run/docker.sock' para enviar requisições para o docker daemon.
// Apenas `socketPath` ou `proxy` podem ser especificado.
// Caso ambos sejam especificados, o `socketPath` será utilizado.
socketPath: null, // padrão
// `httpAgent` e `httpsAgent` define um agente personalizado para ser usando quando performando uma requisições http
// ou https, no node.js. Isso permite opções a serem adicionadas como
// `keepAlive` que não está habilidado por padrão.
httpAgent: new http.Agent({ keepAlive: true }),
httpsAgent: new https.Agent({ keepAlive: true }),
// `proxy` define o nome do host, a porta e o protocolo do proxy do servidor.
// Você pode defirnir também seu próprio proxy usando `http_proxy` e
// `https_proxy` das variáveis de ambiente. Se você estiver usando variáveis de ambiente
// para a configuração do seu proxy, você também pode definir uma variável de ambiente `no_proxy`
// como uma lista separada por vírgulas de domínios que não devem utilizar proxy.
// Use `false` para desabilidar proxies, ignorando as variáveis de ambiente.
// `auth` indica que o HTTP Basic auth deve ser usado para conectar no proxy e
// fornecer credenciais.
// Isso definirá um cabeçalho `Proxy-Authorization`, sobrescrevendo qualquer outro
// `Proxy-Authorization` existente que você definiu usando `headres`.
// Se o proxy do servidor utilizar HTTPS, então você deve definir o protocolo para `https`.
proxy: {
protocol: 'https',
host: '127.0.0.1',
port: 9000,
auth: {
username: 'mikeymike',
password: 'rapunz3l'
}
},
// `cancelToken` especifica um token de cancelamento que pode ser utilizado para cancelar a requisição
// (veja a seção de Cancelamento abaixo para mais detalhes)
cancelToken: new CancelToken(function (cancel) {
}),
// `decompress` indicar se o corpo da resposta deve ou não ser descomprimido
// automaticamente. Se definido como `true` irá remover também o cabeçalho `content-encoding`
// de todos os objetos resposta
// - Apenas no Node (XHR não pode desligar a descompressão)
decompress: true // padrão
}