blossom: fasthttp dialer to respect proxy environment variables.

This commit is contained in:
fiatjaf
2026-06-02 19:33:26 -03:00
parent c639b10f9a
commit 015842e96d
+13 -5
View File
@@ -6,6 +6,7 @@ import (
"fiatjaf.com/nostr"
"github.com/valyala/fasthttp"
"github.com/valyala/fasthttp/fasthttpproxy"
)
// Client represents a Blossom client for interacting with a media server
@@ -28,6 +29,17 @@ func NewClient(mediaserver string, signer nostr.Signer) *Client {
// createHTTPClient creates a properly configured HTTP client
func createHTTPClient() *fasthttp.Client {
d := fasthttpproxy.Dialer{
Timeout: 10 * time.Second,
ConnectTimeout: 10 * time.Second,
TCPDialer: fasthttp.TCPDialer{
// increase DNS cache time to an hour instead of default minute
Concurrency: 4096,
DNSCacheDuration: time.Hour,
},
}
dialFunc, _ := d.GetDialFunc(true)
return &fasthttp.Client{
MaxIdleConnDuration: time.Hour,
DisableHeaderNamesNormalizing: true, // because our headers are properly constructed
@@ -35,11 +47,7 @@ func createHTTPClient() *fasthttp.Client {
Name: "nl-b", // user-agent
// increase DNS cache time to an hour instead of default minute
Dial: (&fasthttp.TCPDialer{
Concurrency: 4096,
DNSCacheDuration: time.Hour,
}).Dial,
Dial: dialFunc,
}
}