Référence
Envoyer un fichier
Envoyer le contenu d'un fichier à Host, adressé par son empreinte SHA1, avant de créer un déploiement.
Un fichier s’envoie par son empreinte SHA1. Host ne stocke jamais deux fois le même contenu pour une organisation : tu n’envoies que les fichiers que Créer un déploiement signale comme manquants.
POST /v2/files
SHA=$(sha1sum index.html | cut -d' ' -f1)curl -X POST https://api.host.hgdc.ch/v2/files \ -H "Authorization: Bearer $VERCEL_TOKEN" \ -H "x-vercel-digest: $SHA" \ -H "Content-Type: application/octet-stream" \ --data-binary @index.htmlEn Node.js, calcule l’empreinte avant l’envoi :
import { createHash } from "node:crypto"import { readFile } from "node:fs/promises"
const bytes = await readFile("index.html")const sha = createHash("sha1").update(bytes).digest("hex")
await fetch("https://api.host.hgdc.ch/v2/files", { method: "POST", headers: { Authorization: `Bearer ${process.env.VERCEL_TOKEN}`, "x-vercel-digest": sha, "Content-Type": "application/octet-stream", }, body: bytes,})En-têtes
| En-tête | Valeur | Requis |
|---|---|---|
Authorization | Bearer ah_… | Oui |
x-vercel-digest | Empreinte SHA1 du contenu, en hexadécimal, 40 caractères | Oui. x-now-digest est aussi accepté |
Content-Type | application/octet-stream | Recommandé |
Corps
Le contenu brut du fichier, 20 Mo au plus.
Réponse
Réponse 200 avec un objet vide, {}.
Erreurs
| Statut | Code | Cause |
|---|---|---|
400 | bad_request | En-tête x-vercel-digest absent ou mal formé |
400 | invalid_digest | Le contenu ne correspond pas à l’empreinte annoncée. Recalcule le SHA1 |
413 | file_too_large | Le fichier dépasse 20 Mo |
Limites
L’envoi de fichiers a son propre débit : 6 000 par minute, avec des rafales de 3 000 par clé. Un site Next.js compte souvent des milliers de fichiers : envoie-les en parallèle, mais sans dépasser ce débit. Voir Limites.
Cette page t'a aidé ?
Merci, c'est noté.