Node HTTP client
Простой HTTP/HTTPS клиент для NodeJS
Пример создания простого GET запроса
const { HttpClient } = require("@scottwalker/node-http-client")
// Инициализировать HTTP клиент
const httpClient = new HttpClient()
httpClient.get("https://example.com", { query: { page: 1 } })
.then(content => console.log(content))
.catch(error => console.error(error))
Пример создания простого POST запроса
const { HttpClient } = require("@scottwalker/node-http-client")
// Инициализировать HTTP клиент
const httpClient = new HttpClient()
/**
* Отправить данные
* @param {Object} data
* @return {Promise}
*/
async function postData(data = {}) {
try {
return await httpClient.post("https://example.com", data)
} catch (error) {
console.error(error)
return null
}
}
postData({ message: "Hello World" })
Пример создания более сложного запроса
Если указать в заголовках запроса Content-Type: application/json
, то тело ответа будет преобразовано в js объект
(при условии валидного JSON в теле ответа), также для удобства можно использовать пересет presetHeaders.json
const { HttpClient, presetHeaders, METHOD_PUT } = require("@scottwalker/node-http-client")
// Инициализировать HTTP клиент (с конфигурацией)
const httpClient = new HttpClient({
baseUrl: "https://example.com",
headers: {
...presetHeaders.json
"X-My-Param": "hello"
}
})
const requestPromise = httpClient.request({
method: METHOD_PUT,
url: "info/update",
query: {
limit: 1,
order: "desc"
},
data: {
message: "Hello World"
}
})
requestPromise
.then(content => console.log(content))
.catch(error => console.error(error))
Конструктор клиента принимает в себя объект конфигурации, содержащий следующие параметры:
baseUrl - базовый URL для всех запросов
headers - заголовки по умолчанию
Метод request принимает в себя объект, содержащий следующие параметры:
method - метод запроса
url - URL адрес
query - GET параметры запроса
data - тело запроса
headers - заголовки
Пример отправки формы
Воспользуйтесь пересетом headers.form
const { HttpClient, presetHeaders } = require("@scottwalker/node-http-client")
// Инициализировать HTTP клиент (с конфигурацией)
const httpClient = new HttpClient({
baseUrl: "https://example.com",
})
httpClient.post("order", { name: "scott", price: 10 }, { headers: presetHeaders.form })
.then(content => console.log(content))
.catch(error => console.error(error))