Package Exports
- @nextcloud/axios
Readme
@nextcloud/axios
Simple, typed wrapper of an Axios instance for Nextcloud that automatically sends authentication headers. Cancellation is supported as well.
Installation
npm install @nextcloud/axios --save
yarn add @nextcloud/axios
Usage
import axios from '@nextcloud/axios'
axios.get('nextcloud.com')
See https://github.com/axios/axios for details.
Defining baseURL
You are able to define baseURL
to simplify the usage of axios across your app.
import axios from '@nextcloud/axios'
import { generateUrl } from '@nextcloud/router'
const baseURL = generateUrl('/apps/your_app_id/api')
axios.defaults.baseURL = baseURL
Retry handling
This package can optionally retry requests if they fail due to Nextcloud's maintenance mode. To activate this feature, pass
retryIfMaintenanceMode: true
into the request options. This mechanism will only catch relatively short server maintenance
downtime in the range of seconds to a minute. Any longer downtime still has to be handled by the application, show feedback
to the user, reload the page etc.
import axios from '@nextcloud/axios'
const pizzas = await axios.get('/apps/pizza/api/pizzas', {
retryIfMaintenanceMode: true,
})
const myPizza = await axios.post('/apps/pizza/api/pizzas', { toppings: ['pineapple'] }, {
retryIfMaintenanceMode: true,
})
References