From 015842e96d8639645d85f38d7dafcd4d1ab86d92 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Tue, 2 Jun 2026 19:33:26 -0300 Subject: [PATCH] blossom: fasthttp dialer to respect proxy environment variables. --- nipb0/blossom/client.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/nipb0/blossom/client.go b/nipb0/blossom/client.go index 67d6ece..b85ac15 100644 --- a/nipb0/blossom/client.go +++ b/nipb0/blossom/client.go @@ -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, } }