Sobes.tech
Senior

Gerai, tada kas tiksliai pasikeitė pačioje užklausoje?

sobes.tech AI

Atsakymas iš AI

Jei kalbame apie pakeitimus pačioje HTTP užklausoje Go, tai paprastai gali apimti:

  • Antraščių pridėjimą arba keitimą (pvz., Authorization, Content-Type).
  • Konteksto (http.NewRequestWithContext) naudojimą, kad būtų galima palaikyti atšaukimą arba laiką.
  • Užklausos metodo keitimą (GET, POST, PUT ir kt.).
  • Užklausos kūno pakeitimus (pvz., pridėti JSON arba formą).

Pavyzdys, kaip pakeisti užklausą pridėjus kontekstą ir antraštę:

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()

Taigi, konkrečios pakeitimo detalės priklauso nuo užduoties, bet paprastai jos pagerina kontrolę virš užklausos, pridėdamos būtinus antraštes ir tinkamai valdydamos vykdymo laiką.