# @soleil-se/config-requester

Promise wrapper for [requester](https://developer.sitevision.se/docs/webapps/webapps-2/configuration/config.js#h-Clientrequester) available in a configuration client context in Sitevision.

## Installation

```sh
npm i @soleil-se/config-requester
```

## Example

**index.js**

```js
import router from '@sitevision/api/common/router';


router.get('/', (req, res) => {
  res.send('');
});


router.get('/test', (req, res) => {
  res.json({ name: req.params.name });
});
```

**config.js**

```js
import requester from '@soleil-se/config-requester';


async function getRequest() {
  const res = await requester('/test', {
    data: { name: 'Foo Barsson' },
  });
  console.log(res);
}
```

### Aliases

There are aliases for the request methods supported by requester.

`requester.get(route, config)`\
`requester.post(route, config)`\
`requester.put(route, config)`\
`requester.delete(route, config)`\
`requester.patch(route, config)`

#### `GET` request

```js
import requester from '@soleil-se/config-requester';


async function getRequest() {
  const res = await requester.get('/test', {
    data: { name: 'Foo Barsson' },
  });
}
```

#### `POST` request

```js
import requester from '@soleil-se/config-requester';


async function postRequest() {
  const res = await requester.post('/test', {
    data: { name: 'Foo Barsson' },
  });
}
```

#### `PUT` request

```js
import requester from '@soleil-se/config-requester';


async function putRequest() {
  const res = await requester.put('/test', {
    data: { name: 'Foo Barsson' },
  });
}
```

#### `DELETE` request

```js
import requester from '@soleil-se/config-requester';


async function deleteRequest() {
  const res = await requester.delete('/test', {
    data: { name: 'Foo Barsson' },
  });
}
```

#### `PATCH` request

```js
import requester from '@soleil-se/config-requester';


async function patchRequest() {
  const res = await requester.patch('/test', {
    data: { name: 'Foo Barsson' },
  });
}
```