~/labs/reqx
reqx
İstek oluşturucuları, yeniden deneme, OAuth desteği ve makul varsayılanlarıyla temiz, genişletilebilir bir HTTP istemcisi.
Go için, builder desenine dayalı akıcı bir HTTP istemcisi: yerleşik yeniden deneme mekanizması, OAuth1 desteği ve multipart form işleme. Yalnızca standart kütüphaneyi kullanır.
Kurulum
go get github.com/oshturhq/reqxÖzellikler
- Akıcı builder deseni: metotları zincirleyerek temiz, okunaklı kod
- Basic Auth, Bearer Token ve OAuth1 (HMAC-SHA1)
- Zaman aşımları ve 5xx hataları için bekleme süreli otomatik yeniden deneme
- JSON, form URL encoded ve multipart form gövdeleri
- Akış destekli dosya yüklemeleri için multipart form oluşturucu
- Context istemciye, tek bir isteğe ya da ikisine birden verilebilir
- Durum kontrolü ve JSON çözümleme için yanıt yardımcıları
- Sıfır bağımlılık: yalnızca standart kütüphane
Örnek
client, err := reqx.NewClientBuilder().
BaseURL("https://api.example.com").
Timeout(30 * time.Second).
BearerAuth("your-token").
Build()
if err != nil {
panic(err)
}
var result map[string]any
var errResp map[string]any
resp, err := client.Get("/users").
QueryParam("page", "1").
Do(&result, &errResp)