npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

httpsecureapi_v2

v1.0.18

Published

Httpsecureapi est une class TypeScript/JavaScript pour gérer les requêtes réseau dans des applications web comme mobile. Elle offre une flexibilité maximale avec la possibilité de spécifier une URL de base, des en-têtes personnalisés, et une clé secrète p

Downloads

35

Readme

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

[email protected] Merci d'utiliser mon module 😉

Licence

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