Latihan 1 dari materi API Caching di API — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Isi function handleRequest(article, ifNoneMatch) yang meniru handler ETag:
- Hitung
etag dari versi artikel: "v" + article.version (jadi version: 3 menjadi v3).
- Kalau
ifNoneMatch === etag, kembalikan { status: 304, body: null, etag }: client sudah punya versi terbaru.
- Selain itu (termasuk
ifNoneMatch bernilai null), kembalikan { status: 200, body: article, etag }.
Artikel { id: 1, title: 'Halo', version: 3 } dan enam baris console.log di starter tetap seperti itu. Output-nya harus persis, satu per baris: 200, v3, Halo, 304, null, 200. Tester juga memanggil handleRequest({ version: 9 }, "v9") dan mengharapkan status 304, body null, dan etag v9, jadi etag harus dihitung dari versinya, bukan ditulis "v3".
Di HTTP sungguhan nilai ETag ditulis dengan tanda kutip (ETag: "v3"); latihan ini memakai string v3 saja.