@red_fox107/rest-request v1.0.5
rest-request
GitHub: https://github.com/RedFox107/REST-request
Особенности:
- Автопарсинг JSON
- Возможность остановки запроса
- Основано на промисах
- Установка строки параметров за счет передаваемого объекта
- Множество опций для настройки Ваших запросов
- После создания экземпляра класса доступы 5 самых популярных типа запроса. Также есть возможность добавления своего типа запроса
Установка:
npm i @red_fox107/rest-request
yarn add @red_fox107/rest-request
Настройки доступные при создании экземпляра класса
const exmpl = new REST_request(
{
commonBodyParams = {
param1:123,
param2:321
}, -
headers = {
"API-KEY":"23Tbdf5"
},
withCredentials = false,
baseUrl = 'http://someURL/',
responseDataType = 'json',
commonSearchParams = {
id:1235
},
withAbort = false
}
)
Пояснение:
Все установленные параметры будут применятся ко всем запросам
commonBodyParams
- общее тело запроса, не применяется к GET. Передаваемый тип данныхobject
.headers
- Заголовки запроса. Передаваемый тип данныхobject
.withCredentials
- захват данных при запросе. Передаваемый тип данныхboolean
.baseUrl
- общий URL. Передаваемый тип данныхstring
илиobject URL
.responseDataType
- тип получаемых данных. Передаваемый тип данныхstring
.commonSearchParams
- общая строка параметров. Передаваемый тип данныхobject
.withAbort
- При данной настройке помимо промиса возвращаетсяabortId
за счет котрого можно остановить запрос(Пример будет приведен ниже). Передаваемый тип данныхboolean
.
Также данные настройки можно определить и/или переопределить в самом запросе
Работа с настройкой withAbort
const test = new REST_request({withAbort:true,baseUrl:'http://someUrl'});
const exmpl = async ()=>{
try{
const [promise,abortId] = test.get('/file.json');
test.abort(abortId);
const {response,status} = await promise;
return reponse;
}catch(e){
console.log(e);//{status: 0, error: "Request aborted"}
}
exmpl();
}
Работа с параметрами и настройками в самих запросах
Шаблон для всех запросов restRequest.[req](url,data,options)
Параметры commonSearchParams
,commonBodyParams
,baseUrl
в данный момент не доступны
Однако для всех запросов кроме get
доступен параметр searchParams
симулирующий поведение get
const test = new REST_request({baseUrl:'http://someUrl'});
test.get('/getFile',{fileName:"file",ext:"json"},{withCredentials:true}).then(...)//url = http://someUrl/getFile?fileName=file&ext=json
test.post('/getFile',{KEY:8952},{searchParams:{fileName:"file",ext:"json"},withAbort:false}).then(...))
Создание своего типа запросов
В только что созданном экземпляре класса доступны 5 типов запросов:
1. GET
2. POST
3. PUT
4. UPDATE
5. DELETE
Для создания своего типа существует метод addCustomMethod
в который передается тип запросов.
После объявления работа с новым типом ничем не отличается от заранее заданных.
const exmpl = new REST_request({baseUrl:"http://someUrl"});
exmpl.addCustomMethod('head');
exmpl.head('/index.php',{},{withAbort:false})