1.0.18 • Published 6 months ago

httpsecureapi_v2 v1.0.18

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

Httpsecureapi

Un module Node.js pour effectuer des requêtes HTTP sécurisées avec chiffrement des données.

Installation

npm install httpsecureapi

Utilisation

Importation du module

const Httpsecureapi = require('httpsecureapi');

Création d'une instance

const apiUrl = 'https://api.example.com';
const encryptionKey = 'your-secret-key';
const headers = {}
const http = new Httpsecureapi(apiUrl, headers, encryptionKey);

Effectuer une requête GET

const url = '/users';
http.get(url)
  .then(response => console.log(response))
  .catch(error => console.error(error));

Effectuer une requête POST

const url = '/users';
const data = { username: 'john_doe', password: 'secure_password' };
http.post(url, { body: data })
  .then(response => console.log(response))
  .catch(error => console.error(error));

Effectuer une requête PUT

const url = '/users/123';
const data = { username: 'updated_user' };
http.put(url, { body: data })
  .then(response => console.log(response))
  .catch(error => console.error(error));

Effectuer une requête DELETE

const url = '/users/123';
http.delete(url)
  .then(response => console.log(response))
  .catch(error => console.error(error));

Intercepteur

  • Intercepteur de requête (request)
  • Intercepteur de réponse (response)
  • Intercepteur d'erreur (error)
const http = new Httpsecureapi(apiUrl, customHeaders, encryptionKey);

http.addInterceptor({
    request: (config) => {
        config.headers['Authorization'] = 'Bearer your-access-token';
        return config;
    },
});

http.addInterceptor({
    response: (response) => {
        // Convertir le format de la date
        if (response.data.date) {
            response.data.date = new Date(response.data.date);
        }
        return response;
    },
});

http.addInterceptor({
    error: (error) => {
        // Gérer les erreurs spécifiques
        if (error.status === 401) {
            console.error('Erreur d\'authentification. Veuillez vous reconnecter.');
        }
        throw error; // Renvoyer l'erreur après traitement
    },
});

Options de configuration

  • apiUrl: URL de base de l'API.
  • headers: En-têtes personnalisés pour chaque requête.
  • encryptionKey: Clé de chiffrement pour sécuriser les données.

Fonctions

  • get(url, options): Effectue une requête GET.
  • post(url, options): Effectue une requête POST.
  • put(url, options): Effectue une requête PUT.
  • addInterceptor: Pour l'intercepteur.

Utilisation du chiffrement des données

Le module Httpsecureapi utilise le chiffrement pour sécuriser les données envoyées dans les requêtes. Voici comment cela fonctionne :

  • Chiffrement des données sortantes (Requêtes POST) : Lorsque vous effectuez une requête POST avec des données dans le corps (options.body), ces données sont automatiquement chiffrées avant d'être envoyées au serveur si l'en-tête encryptionKey est fourni. Dans le cas contraire, les données sont envoyées telles quelles pour une utilisation normale.
  • Déchiffrement des données entrantes (Réponses du serveur) : Lorsqu'une réponse est reçue du serveur, le module vérifie si les données sont chiffrées. Si elles le sont, elles sont automatiquement déchiffrées avant d'être retournées. Remarque : Le serveur doit être configuré pour envoyer les données dans le format chiffré pris en charge par Httpsecureapi. Assurez-vous que le serveur comprend le mode de chiffrement utilisé par le module.

Configuration des en-têtes personnalisés

Vous pouvez également configurer des en-têtes personnalisés pour chaque requête en passant un objet headers lors de la création de l'instance Httpsecureapi. Par exemple :

const apiUrl = 'https://api.example.com';
const encryptionKey = 'your-secret-key';
const customHeaders = {
    'Authorization': 'Bearer your-access-token',
    'Content-Type': 'application/json'
};

const http = new Httpsecureapi(apiUrl, customHeaders, encryptionKey);

Mode Encrypted 🚨

Pour utiliser le mode encrypté, assurez-vous que le serveur auquel vous faites des requêtes a préalablement renvoyé les données sous forme encryptée, suivant le même format que celui utilisé par ce module. Le chiffrement actuellement utilisé est l'algorithme AES-256-CBC avec une clé de chiffrement fournie lors de la création de l'instance Httpsecureapi. Veillez à utiliser la même clé de chiffrement des deux côtés pour garantir la compatibilité du chiffrement et du déchiffrement des données.

Pour plus d'informations je vous laisse mon gmail

jeanphilippesara225@gmail.com Merci d'utiliser mon module 😉

Licence

Ce module est distribué sous la licence MIT. Voir le fichier LICENSE pour plus de détails.

1.0.18

6 months ago

1.0.17

6 months ago

1.0.14

6 months ago

1.0.13

6 months ago

1.0.12

6 months ago

1.0.11

6 months ago

1.0.10

6 months ago

1.0.9

6 months ago

1.0.8

6 months ago

1.0.7

6 months ago

1.0.6

6 months ago

1.0.5

6 months ago

1.0.4

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago