infura-go icon indicating copy to clipboard operation
infura-go copied to clipboard

Add WithClient method

Open alxshelepenok opened this issue 4 years ago • 0 comments

In net/http package doesn’t specify a timeout for default HTTP client. https://medium.com/@nate510/don-t-use-go-s-default-http-client-4804cb19f779

This fix allows you to specify a custom http client:

package main

import (
	"fmt"
	"time"
	"net/http"
	"github.com/daisuke310vvv/infura-go"
)

func main() {
	config := infura.NewConfig("<API_KEY>", infura.Ropsten)
	infuraClient := infura.New(config)

	input := &infura.EthGetBalanceInput{
	    Address:        "0x5c66b0d82df26e8FE165Be6628F5f5e1f1bccD5C",
	    BlockParameter: infura.NewBlockParameter("latest"),
	}

	client := &http.Client{
		Timeout: time.Second * 10,
	}
	
	req, res := infuraClient.EthGetBalanceRequest(input)
	req.WithClient(client)
	err := req.Call()
	if err != nil {
		fmt.Println(err)
	}

	fmt.Println(res.Result)
}

alxshelepenok avatar Oct 10 '19 17:10 alxshelepenok