Accept any type for datasource response
This commit is contained in:
@@ -110,7 +110,7 @@ func (ds *ZabbixDatasource) ZabbixAPIQuery(ctx context.Context, tsdbReq *datasou
|
|||||||
resultByte, _ := result.(*simplejson.Json).MarshalJSON()
|
resultByte, _ := result.(*simplejson.Json).MarshalJSON()
|
||||||
ds.logger.Debug("ZabbixAPIQuery", "result", string(resultByte))
|
ds.logger.Debug("ZabbixAPIQuery", "result", string(resultByte))
|
||||||
|
|
||||||
return ds.BuildResponse(result.(*simplejson.Json))
|
return ds.BuildResponse(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestConnection checks authentication and version of the Zabbix API and returns that info
|
// TestConnection checks authentication and version of the Zabbix API and returns that info
|
||||||
@@ -135,22 +135,13 @@ func (ds *ZabbixDatasource) TestConnection(ctx context.Context, tsdbReq *datasou
|
|||||||
testResponse := connectionTestResponse{
|
testResponse := connectionTestResponse{
|
||||||
ZabbixVersion: response.MustString(),
|
ZabbixVersion: response.MustString(),
|
||||||
}
|
}
|
||||||
responseJSON, err := json.Marshal(testResponse)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
responseSimpleJSON, err := simplejson.NewJson(responseJSON)
|
return ds.BuildResponse(testResponse)
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return ds.BuildResponse(responseSimpleJSON)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildResponse transforms a Zabbix API response to a DatasourceResponse
|
// BuildResponse transforms a Zabbix API response to a DatasourceResponse
|
||||||
func (ds *ZabbixDatasource) BuildResponse(result *simplejson.Json) (*datasource.DatasourceResponse, error) {
|
func (ds *ZabbixDatasource) BuildResponse(result interface{}) (*datasource.DatasourceResponse, error) {
|
||||||
resultByte, err := result.MarshalJSON()
|
jsonBytes, err := json.Marshal(result)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -159,7 +150,7 @@ func (ds *ZabbixDatasource) BuildResponse(result *simplejson.Json) (*datasource.
|
|||||||
Results: []*datasource.QueryResult{
|
Results: []*datasource.QueryResult{
|
||||||
&datasource.QueryResult{
|
&datasource.QueryResult{
|
||||||
RefId: "zabbixAPI",
|
RefId: "zabbixAPI",
|
||||||
MetaJson: string(resultByte),
|
MetaJson: string(jsonBytes),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}, nil
|
}, nil
|
||||||
|
|||||||
Reference in New Issue
Block a user