Enable request timeout and cancellation control by adding context.Context as the first parameter to all SDK API methods. This allows users to: - Set per-request timeouts - Cancel in-flight requests - Pass request-scoped values
30 lines
656 B
Go
30 lines
656 B
Go
package system
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.dragonchain.com/dragonchain/dragonchain-prime-sdk-go/client"
|
|
"git.dragonchain.com/dragonchain/dragonchain-prime-sdk-go/models"
|
|
)
|
|
|
|
type SystemClient struct {
|
|
client *client.Client
|
|
}
|
|
|
|
func NewSystemClient(c *client.Client) *SystemClient {
|
|
return &SystemClient{client: c}
|
|
}
|
|
|
|
func (sc *SystemClient) Health(ctx context.Context) error {
|
|
return sc.client.Get(ctx, "/api/v1/health", nil)
|
|
}
|
|
|
|
func (sc *SystemClient) Status(ctx context.Context) (*models.SystemStatus, error) {
|
|
var resp models.SystemStatus
|
|
err := sc.client.Get(ctx, "/api/v1/status", &resp)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &resp, nil
|
|
}
|