framework

作者: contentstack

HTTP stack for marketplace-sdk — Axios wrapper, retries, concurrency, params serialization, logging hook

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.

來自 contentstack 的更多技能

brand-kit-assistant
contentstack
Advise users on Contentstack Brand Kit concepts, setup, governance, and on-brand AI generation. Route API-specific tasks to the right Brand Kit capability or…
official
cms-assets
contentstack
Advise developers on organizing, delivering, and transforming assets in Contentstack. Cover folder structure, Image Delivery API transformations, publishing…
official
cms-branches-aliases
contentstack
Advise developers on using Contentstack branches for isolated content development and aliases for zero-downtime content deployments. Cover branch strategy,…
official
cms-data-modeling-best-practices
contentstack
Guide developers to model content in Contentstack using the simplest reusable structure. The skill explains when to use content types, references, global…
official
cms-entries
contentstack
Advise developers on querying, localizing, versioning, publishing, and structuring Contentstack entries for efficient delivery. Focus on CDA usage, reference…
official
cms-environments-publishing
contentstack
Advise developers on configuring environments, publishing content, using delivery and preview tokens, leveraging the Sync API, and understanding CDN and…
official
cms-live-preview-visual-builder-support-assistant
contentstack
Diagnose and guide Contentstack Live Preview and Visual Builder implementations. Trace preview context, identify the broken contract, and recommend the…
official
cms-localization
contentstack
為開發人員提供Contentstack本地化建議:語言設定、備援鏈、本地化與非本地化條目、不可本地化欄位,以及多語言環境…
official