Sobes.tech
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, PUT itd.).
  • 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.