github.com/jimmyx0x/go-ethereum@v1.10.28/rpc/client_opt_test.go (about) 1 package rpc_test 2 3 import ( 4 "context" 5 "net/http" 6 "time" 7 8 "github.com/ethereum/go-ethereum/rpc" 9 ) 10 11 // This example configures a HTTP-based RPC client with two options - one setting the 12 // overall request timeout, the other adding a custom HTTP header to all requests. 13 func ExampleDialOptions() { 14 tokenHeader := rpc.WithHeader("x-token", "foo") 15 httpClient := rpc.WithHTTPClient(&http.Client{ 16 Timeout: 10 * time.Second, 17 }) 18 19 ctx := context.Background() 20 c, err := rpc.DialOptions(ctx, "http://rpc.example.com", httpClient, tokenHeader) 21 if err != nil { 22 panic(err) 23 } 24 c.Close() 25 }