feat: add remote client constructor

This commit is contained in:
Prad Nukala 2024-11-05 09:43:10 -05:00
parent e76c4a5902
commit 9372db6279

View File

@ -28,6 +28,20 @@ func NewLocal() (*SonrClient, error) {
}
// NewRemote creates a new SonrClient for remote production.
func NewRemote() (*SonrClient, error) {
return &SonrClient{}, nil
func NewRemote(url string) (*SonrClient, error) {
// create http client
client := &SonrClient{
apiURL: url,
}
// Issue ping to check if server is up
resp, err := http.Get(client.apiURL + "/genesis")
if err != nil {
return nil, err
}
defer resp.Body.Close()
// Check if server is up
if resp.StatusCode != http.StatusOK {
return nil, err
}
return client, nil
}