Présentation d’une API Gateway utilisable sur Cloudflare Workers
(github.com/day1swhan)Présentation d’une API Gateway prête à l’emploi sur simple « clic » dans des environnements comme Cloudflare Workers, où il n’est pas possible d’utiliser npm.
Alors que j’exploitais un serveur API avec Workers, j’en ai eu assez de gérer les requêtes avec une instruction switch, ce qui m’a amené à créer une API Gateway de style Express.js.
Pour celles et ceux qui ont déjà utilisé Express.js, elle prend en charge les middlewares et les gestionnaires d’erreurs familiers, et elle parse par défaut les paramètres d’URL, la QueryString et les cookies, sans nécessiter de middleware séparé comme c’est souvent le cas en production.
Les API supplémentaires prises en charge sont les suivantes.
-
Context API : en utilisant la fonction
waitUntil, il est possible de traiter de manière asynchrone des opérations comme unPutItemen base de données et de fournir à l’utilisateur une réponse non bloquante. -
Binding API : permet d’utiliser des services Cloudflare comme R2 et KV Store.
Conseils supplémentaires)
- Le plan gratuit de Workers limite le CPU time à 10 ms.
- En revanche, le temps consacré aux opérations d’I/O vers des services externes, comme
fetch, n’est pas comptabilisé. - Pour la plupart des requêtes qui ne sont pas gourmandes en CPU, 1 à 2 ms suffisent.
8 commentaires
Ajout : pour celles et ceux qui sont curieux du fonctionnement interne, je recommande de lire le billet de développement.
D’abord… je vous soutiens. Courage !!!
J’aime bien hono…
Je l’ai aussi essayé, et c’est vraiment bien conçu…
Merci haha, comme prévu, j’ai l’impression qu’il est important de prendre l’habitude de faire une recherche avant de s’énerver et de le fabriquer soi-même.. haha
J’aimais déjà bien Hono avant
Ça aussi, c’est intéressant
Merci haha
Je vous recommande aussi de jeter un œil à un framework similaire : https://hono.dev/
Le développeur fait d’ailleurs carrément partie de Cloudflare.
Oh… merci haha
Voici les bases d’utilisation de Worker ainsi que des cas d’usage.