Senior
Dobro, onda šta se tačno promenilo u samom zahtevu?
sobes.tech АИ
Одговор од АИ
Ako se radi o promenama u samom HTTP zahtevu u Go, to obično može da se odnosi na:
- Dodavanje ili izmenu zaglavlja (npr.
Authorization,Content-Type). - Korišćenje konteksta (
http.NewRequestWithContext) za podršku otkazivanja ili timeout-a. - Promene u metodu zahteva (
GET,POST,PUTitd.). - Promene u telu zahteva (npr. dodavanje JSON-a ili forme).
Primer promene zahteva sa dodavanjem konteksta i zaglavlja:
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()
Konkretne promene zavise od zadatka, ali obično poboljšavaju kontrolu nad zahtevom, dodaju potrebne zaglavlja i pravilno upravljaju vremenom izvršenja.