framework

Pila HTTP para marketplace-sdk — envoltorio de Axios, reintentos, concurrencia, serialización de parámetros, hook de registro

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.

Más skills de contentstack

cms-assets
contentstack
Asesorar a los desarrolladores sobre cómo organizar, entregar y transformar activos en Contentstack. Cubrir la estructura de carpetas, las transformaciones de la API de entrega de imágenes, la publicación…
cms-branches-aliases
contentstack
Asesorar a desarrolladores sobre el uso de ramas de Contentstack para desarrollo de contenido aislado y alias para implementaciones de contenido sin tiempo de inactividad. Cubrir estrategia de ramas, …
cms-data-modeling-best-practices
contentstack
Guía a los desarrolladores para modelar contenido en Contentstack usando la estructura reutilizable más simple. La habilidad explica cuándo usar tipos de contenido, referencias, global...
cms-live-preview-visual-builder-support-assistant
contentstack
Diagnostica y guía implementaciones de Contentstack Live Preview y Visual Builder. Rastrea el contexto de vista previa, identifica el contrato roto y recomienda la…
cms-releases
contentstack
Asesorar a los desarrolladores sobre el uso de Contentstack Releases para la implementación coordinada y atómica de contenido. Cubrir la creación de releases, la gestión de elementos, la implementación por etapas,…
cms-roles-permissions
contentstack
Asesorar a los desarrolladores sobre el diseño de roles, permisos, equipos y acceso mediante tokens en Contentstack. Explicar los roles integrados, roles personalizados, fusión de permisos,…
cms-taxonomy
contentstack
Asesorar a desarrolladores sobre el uso de Contentstack Taxonomy para la clasificación de contenido estructurada y jerárquica y el filtrado en el lado de entrega. Cubre taxonomy vs tags,…
cms-tokens-authentication
contentstack
Asesorar a los desarrolladores sobre cómo elegir el método de autenticación de Contentstack y el tipo de token adecuados para casos de uso de frontend, backend, automatización y aplicaciones de terceros.…