|
@@ -58,6 +58,22 @@ func MinerStats(url string) (JsonCurrentStats, error) {
|
|
|
return currentStats, UnmasrshalFromUrl(urlToStats, ¤tStats)
|
|
|
}
|
|
|
|
|
|
+func Workers(url string) (JsonWorker, error) {
|
|
|
+ var workers JsonWorker
|
|
|
+
|
|
|
+ urlToWorkers := url + "/workers"
|
|
|
+ dataExists, err := IsDataExists(urlToWorkers)
|
|
|
+ if err != nil {
|
|
|
+ return workers, err
|
|
|
+ }
|
|
|
+
|
|
|
+ if !dataExists {
|
|
|
+ return workers, fmt.Errorf("No data for workers %s", urlToWorkers)
|
|
|
+ }
|
|
|
+
|
|
|
+ return workers, UnmasrshalFromUrl(urlToWorkers, &workers)
|
|
|
+}
|
|
|
+
|
|
|
func IsDataExists(url string) (bool, error) {
|
|
|
var interfaceJson interface{}
|
|
|
|
|
@@ -78,6 +94,10 @@ func IsDataExists(url string) (bool, error) {
|
|
|
return true, nil
|
|
|
break
|
|
|
|
|
|
+ case []interface {}:
|
|
|
+ return true, nil
|
|
|
+ break
|
|
|
+
|
|
|
default:
|
|
|
return false, fmt.Errorf("unexpected type of Data at interface - %T", interfaceJson.(map[string]interface{})["data"])
|
|
|
break
|