Skip to content

Références Sémantiques HTTP

Redirections

ts
redirectPolicy({ allow: [307, 308], follow303: false });

Limitation de Débit (Rate Limiting)

ts
import { retry } from '@unireq/core';
import { httpRetryPredicate, rateLimitDelay } from '@unireq/http';

retry(
  httpRetryPredicate({ statusCodes: [429, 503] }),
  [rateLimitDelay({ maxWait: 60000 })],
  { tries: 3 }
);

Requêtes de Plage (Range Requests)

  • 206 Partial Content — Le serveur envoie la plage d'octets demandée (MDN, RFC 7233)
  • 416 Range Not Satisfiable — Plage invalide (MDN, RFC 7233 §4.4)
  • Accept-Ranges: bytes — Le serveur supporte les plages (MDN)
ts
range({ start: 0, end: 1023 }); // Demande le premier 1KB
resume({ downloaded: 5000 }); // Reprend à l'octet 5000

Multipart Form Data

  • RFC 7578multipart/form-data (spec)
ts
multipart(
  [{ name: 'file', filename: 'doc.pdf', data: blob, contentType: 'application/pdf' }],
  [{ name: 'title', value: 'My Document' }]
);

OAuth 2.0 Bearer

  • RFC 6750 — Utilisation du token Bearer (spec)
ts
oauthBearer({
  tokenSupplier: async () => getAccessToken(),
  skew: 60, // Tolérance de décalage d'horloge (secondes)
  autoRefresh: true // Rafraîchit sur 401
});

← Corps & Parsing · Package Core →

Released under the MIT License.