Latihan 1 dari materi curl — Deep Dive di Terminal — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi parseCurlCommand(tokens) supaya membaca perintah curl yang sudah dipecah jadi array kata, lalu mengembalikan object { method, url, headers, data }. Kata pertamanya selalu "curl", dan teks yang dikutip sudah jadi satu kata.
- Mulai dengan method belum diisi,
url kosong, headers berupa object kosong {}, dan data bernilai null.
- Baca kata-katanya mulai index 1:
"-X": kata sesudahnya adalah method.
"-H": kata sesudahnya berbentuk "Nama: nilai". Pisah di titik dua pertama, buang spasi di pinggir, lalu simpan headers[Nama] = nilai.
"-d": kata sesudahnya adalah data, disimpan apa adanya.
- Kata lain yang bukan flag dan bukan pasangan flag adalah
url.
- Setelah semua dibaca: kalau method belum diisi, jadikan
"POST" kalau ada data, dan "GET" kalau gak ada.
Delapan baris console.log di kode awal sudah ada, biarkan begitu. Output-nya harus persis delapan baris ini, berurutan:
GET
https://api.example.com/users
null
POST
application/json
{"name":"budi"}
POST
x=1
Ada juga cek tambahan: parseCurlCommand(["curl", "-H", "X-Token: abc", "-X", "PUT", "https://z.id/a"]) harus menghasilkan method PUT, url https://z.id/a, header X-Token bernilai abc, dan data null.