framework

Tumpukan HTTP untuk marketplace-sdk — pembungkus Axios, percobaan ulang, konkurensi, serialisasi params, hook pencatatan log

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.

Lebih banyak skill dari contentstack

cms-assets
contentstack
Memberikan saran kepada pengembang tentang pengorganisasian, pengiriman, dan transformasi aset di Contentstack. Mencakup struktur folder, transformasi Image Delivery API, penerbitan…
cms-branches-aliases
contentstack
Memberi saran kepada pengembang tentang penggunaan cabang Contentstack untuk pengembangan konten terisolasi dan alias untuk deployment konten tanpa downtime. Mencakup strategi cabang,…
cms-data-modeling-best-practices
contentstack
Pandu pengembang untuk memodelkan konten di Contentstack menggunakan struktur yang paling sederhana dan dapat digunakan kembali. Skill ini menjelaskan kapan menggunakan tipe konten, referensi, global…
cms-live-preview-visual-builder-support-assistant
contentstack
Diagnosis dan panduan implementasi Contentstack Live Preview dan Visual Builder. Lacak konteks pratinjau, identifikasi kontrak yang rusak, dan rekomendasikan…
cms-releases
contentstack
Memberi saran kepada developer tentang penggunaan Contentstack Releases untuk deployment konten atomik yang terkoordinasi. Mencakup pembuatan release, manajemen item, deployment bertahap,…
cms-roles-permissions
contentstack
Memberi saran kepada pengembang tentang merancang peran, izin, tim, dan akses token di Contentstack. Menjelaskan peran bawaan, peran kustom, penggabungan izin,…
cms-taxonomy
contentstack
Memberi saran kepada pengembang tentang penggunaan Contentstack Taxonomy untuk klasifikasi konten hierarkis terstruktur dan filtering sisi pengiriman. Mencakup taksonomi vs tag,...
cms-tokens-authentication
contentstack
Memberikan saran kepada pengembang tentang cara memilih metode autentikasi Contentstack dan jenis token yang tepat untuk kasus penggunaan frontend, backend, otomasi, dan aplikasi pihak ketiga.