<<<<<<< HEAD
Une API minimaliste en TypeScript qui fournit un endpoint /ping pour tester la connectivité du serveur et retourner les headers de la requête en format JSON.
Cette API répond aux spécifications suivantes:
- Retourne les headers HTTP en JSON au format structuré
- Dispose d'un endpoint
/pingaccessible via GET - Port configurable via variable d'environnement
PING_LISTEN_PORT - Port par défaut: 3001
- Inclut un endpoint
/statspour consulter les statistiques du serveur
- Node.js 16+
- npm 8+
# Cloner ou télécharger le projet
cd api-serv
# Installer les dépendances
npm install# Port par défaut (3001)
npm start
# Port personnalisé
PING_LISTEN_PORT=8000 npm startOu sur Windows PowerShell:
$env:PING_LISTEN_PORT=8000; npm startRetourne les headers HTTP de la requête en JSON.
Réponse (200 OK):
{
"host": "localhost:3001",
"user-agent": "curl/7.64.1",
"accept": "*/*",
"connection": "keep-alive"
}Exemple:
curl http://localhost:3001/pingRetourne les statistiques du serveur.
Réponse (200 OK):
{
"requestsProcessed": 42,
"serverUptimeSeconds": 3600,
"serverInstance": "DESKTOP-ABC123"
}Toute requête vers une route non définie retourne:
Réponse (404 Not Found):
{
"error": "Not Found"
}| Variable | Description | Défaut |
|---|---|---|
PING_LISTEN_PORT |
Port d'écoute du serveur | 3001 |
INSTANCE_ID |
Identifiant de l'instance serveur | Nom de l'ordinateur |
PING_LISTEN_PORT=3001- Langage: TypeScript
- Runtime: Node.js
- Framework: HTTP natif (aucune dépendance externe)
- Dépendances: typescript, ts-node, @types/node
api-serv/
├── main.ts # Code source principal
├── tsconfig.json # Configuration TypeScript
├── package.json # Dépendances et scripts
├── .env # Configuration locale
└── README.md # Documentation
# Tester l'endpoint /ping
curl -v http://localhost:3001/ping
# Tester l'endpoint /stats
curl -v http://localhost:3001/stats
# Tester un endpoint invalide (404)
curl -v http://localhost:3001/invalid- Le serveur compile et exécute le TypeScript automatiquement avec
ts-node - Les requêtes sont comptabilisées dans les statistiques
- L'uptime est calculé depuis le démarrage du serveur
- Tous les endpoints retournent du JSON avec le header
Content-Type: application/json
Pour réinstaller les dépendances après avoir reçu le projet:
npm installCela installera automatiquement:
typescript- Compilateur TypeScriptts-node- Exécution directe de fichiers TypeScript@types/node- Types TypeScript pour Node.js
7e72f52a55732a1698522bb8c8805f34fbe75911