@hemia/network-services
v0.0.3
Published
Hemia Network Services Managment
Readme
@hemia/network-services
Contenedor ligero y extensible para Axios, diseñado para simplificar las solicitudes a APIs en tus aplicaciones. Soporta autenticación mediante token, manejo unificado de errores, carga de archivos y configuración de interceptores personalizados.
Características
- Basado en Axios
- Soporte para autorización con token
- Manejo centralizado de solicitudes
- Interceptores personalizables
- Carga de archivos con seguimiento de progreso
- API simple y consistente para
GET,POST,PUT,DELETE,UPLOAD
Instalación
npm install @hemia/network-servicesUso
import { HMNetworkServices } from '@hemia/network-services';
const api = new HMNetworkServices('https://api.example.com', 'tu_token_aquí', true);
// GET
const response = await api.get('/users');
// POST
const response = await api.post('/users', { name: 'John Doe' });
// PUT
const response = await api.put('/users/123', { name: 'Jane Doe' });
// DELETE
const response = await api.delete('/users/123');
// UPLOAD
const formData = new FormData();
formData.append('file', file);
const response = await api.upload('/files', formData);
// UPLOAD con progreso
await api.uploadWithProgress('/files', formData, (progress) => {
console.log(`Progreso de carga: ${progress.toFixed(2)}%`);
});
// Actualizar el token de forma dinámica
await api.updateToken('nuevo_token');
// Agregar interceptores personalizados
api.useInterceptors((axiosInstance) => {
axiosInstance.interceptors.request.use(config => {
// Modificar la configuración si es necesario
return config;
});
});API
constructor(baseURL: string, token?: string, allowCredentials?: boolean)
Inicializa el cliente de la API.
get<T>(url: string, config?: AxiosRequestConfig)
Realiza una solicitud GET.
post<T>(url: string, data: any, config?: AxiosRequestConfig)
Realiza una solicitud POST.
put<T>(url: string, data: any, config?: AxiosRequestConfig)
Realiza una solicitud PUT.
delete<T>(url: string, config?: AxiosRequestConfig)
Realiza una solicitud DELETE.
upload<T>(url: string, formData: FormData, config?: AxiosRequestConfig)
Realiza una carga de archivos.
uploadWithProgress<T>(url: string, formData: FormData, onProgress?: (progress: number) => void, config?: AxiosRequestConfig)
Carga archivos y realiza seguimiento del progreso.
updateToken(token: string)
Actualiza el token de autorización (Bearer Token).
useInterceptors(configure: (axios: AxiosInstance) => void)
Inyecta interceptores personalizados para Axios.
Licencia
Licencia MIT — Hemia Technologies

