framework

Pile HTTP pour marketplace-sdk — wrapper Axios, tentatives, concurrence, sérialisation des paramètres, hook de journalisation

npx skills add https://github.com/contentstack/contentstack-marketplace-sdk --skill framework

HTTP framework (lib/core)

This repo separates domain (lib/marketplace/**) from a small HTTP framework in lib/core/. Use this skill when changing transport behavior.

contentstackHTTPClient.js

  • Builds an axios instance with baseURL from endpoint or protocol://hostname:port + basePath.
  • Defaults: timeout 30000, retryOnError true, retryCondition retries 429 (overridable).
  • Headers: Maps apiKey / accessToken from config if present.
  • Params: Custom paramsSerializer using Qs; nests JSON query with encodeURIComponent.
  • Concurrency: Attaches ConcurrencyQueue to the instance.
  • Logging: logHandler default from messageHandler.js (httpLogHandler).

concurrency-queue.js

  • Limits parallel in-flight requests (maxRequests from client params). Changes here affect all API modules sharing the same HTTP instance.

messageHandler.js

  • Central place for HTTP log/telemetry hooks. Keep implementations safe for browsers and Node bundles.

When to edit

  • Retry/backoff policy, timeout, or serializer → prefer extending existing options on client() rather than one-off axios calls in marketplace modules.
  • New global header behavior → contentstack.js + potentially contentstackHTTPClient.js for low-level concerns.

Testing

  • test/unit/ContentstackHTTPClient-test.js and concurrency-Queue-test.js should cover behavioral changes; use mocks rather than live HTTP when possible.

Plus de skills de contentstack

cms-assets
contentstack
Conseiller les développeurs sur l'organisation, la livraison et la transformation des assets dans Contentstack. Couvrir la structure des dossiers, les transformations de l'API de livraison d'images, la publication…
cms-branches-aliases
contentstack
Conseiller les développeurs sur l'utilisation des branches Contentstack pour le développement de contenu isolé et des alias pour des déploiements de contenu sans temps d'arrêt. Couvrir la stratégie de branche,…
cms-data-modeling-best-practices
contentstack
Guidez les développeurs pour modéliser le contenu dans Contentstack en utilisant la structure réutilisable la plus simple. La compétence explique quand utiliser les types de contenu, les références, les éléments globaux…
cms-live-preview-visual-builder-support-assistant
contentstack
Diagnostiquer et guider les implémentations de Contentstack Live Preview et Visual Builder. Retracer le contexte d'aperçu, identifier le contrat rompu et recommander le…
cms-releases
contentstack
Conseiller les développeurs sur l'utilisation de Contentstack Releases pour un déploiement coordonné et atomique de contenu. Couvrir la création de releases, la gestion des éléments, le déploiement par étapes,…
cms-roles-permissions
contentstack
Conseiller les développeurs sur la conception des rôles, des permissions, des équipes et de l'accès par jeton dans Contentstack. Expliquer les rôles intégrés, les rôles personnalisés, la fusion des permissions,…
cms-taxonomy
contentstack
Conseiller les développeurs sur l'utilisation de Contentstack Taxonomy pour la classification structurée et hiérarchique du contenu et le filtrage côté livraison. Couvre la taxonomie par rapport aux balises,…
cms-tokens-authentication
contentstack
Conseiller les développeurs sur le choix de la méthode d'authentification Contentstack et du type de jeton adaptés aux cas d'utilisation frontend, backend, d'automatisation et d'applications tierces.…