Sobes.tech
Senior

Yaxshi, unda so'rovda aniq nima o'zgardi?

sobes.tech AI

AIdan javob

Go'da HTTP so'rovda o'zgarishlar odatda quyidagilarni o'z ichiga olishi mumkin:

  • Sarlavhalarni qo'shish yoki o'zgartirish (masalan, Authorization, Content-Type).
  • Bekor qilish yoki timeoutni qo'llab-quvvatlash uchun kontekst (http.NewRequestWithContext)dan foydalanish.
  • So'rov metodini o'zgartirish (GET, POST, PUT va boshqalar).
  • So'rovning tanasida o'zgarishlar (masalan, JSON yoki forma qo'shish).

Kontekst va sarlavhani qo'shish bilan so'rovni o'zgartirish misoli:

ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()

req, err := http.NewRequestWithContext(ctx, "POST", "https://api.example.com/send", bytes.NewBuffer(jsonData))
if err != nil {
    log.Fatal(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer token")

resp, err := http.DefaultClient.Do(req)
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()

Shunday qilib, aniq o'zgarishlar vazifaga bog'liq, lekin odatda ular so'rovni nazorat qilishni yaxshilaydi, kerakli sarlavhalarni qo'shadi va vaqtni to'g'ri boshqaradi.