1
0
Fork 0
mirror of https://github.com/eosswedenorg/antelope-api-healthcheck synced 2026-07-02 11:43:42 +02:00

Merge remote-tracking branch 'origin/bugfix/json-float64-parse-error' into devel

This commit is contained in:
Henrik Hautakoski 2020-06-24 17:51:21 +02:00
commit 1abb1c8249
2 changed files with 20 additions and 2 deletions

View file

@ -9,6 +9,7 @@ import (
"./pid" "./pid"
"./haproxy" "./haproxy"
"./eosapi" "./eosapi"
"./utils"
"github.com/firstrow/tcp_server" "github.com/firstrow/tcp_server"
"github.com/pborman/getopt/v2" "github.com/pborman/getopt/v2"
) )
@ -55,9 +56,9 @@ func check_api_v2(p eosapi.ReqParams, offset int64) (haproxy.HealthCheckStatus,
for _, v := range health.Health { for _, v := range health.Health {
if v.Name == "Elasticsearch" { if v.Name == "Elasticsearch" {
es_block = (int64) (v.Data["last_indexed_block"].(float64)) es_block = utils.JsonGetInt64(v.Data["last_indexed_block"])
} else if v.Name == "NodeosRPC" { } else if v.Name == "NodeosRPC" {
node_block = (int64) (v.Data["head_block_num"].(float64)) node_block = utils.JsonGetInt64(v.Data["head_block_num"])
} }
} }

17
src/utils/json.go Normal file
View file

@ -0,0 +1,17 @@
package utils
// JsonGetInt64
// performs float64 (json numbers are always float64)
// type assertion and casts to int64.
//
// if the type assertion fails, the function defaults 0 (zero).
// ---------------------------------------------------------
func JsonGetInt64(input interface{}) (int64) {
v, res := input.(float64)
if res {
return (int64) (v)
}
return 0
}