1
0
Fork 0
mirror of https://github.com/eosswedenorg/antelope-api-healthcheck synced 2026-06-18 05:00:03 +02:00

src/parse_request.go: in ParseRequest() change switch case into a map with factory functions.

This commit is contained in:
Henrik Hautakoski 2022-10-25 17:48:57 +02:00
parent b41fb21f6a
commit 15ff583035
No known key found for this signature in database
GPG key ID: 608414D93E862CCD

View file

@ -35,6 +35,13 @@ func ParseArguments(args []string) api.ApiArguments {
func ParseRequest(request string) (api.ApiInterface, error) {
factories := map[string]api.Factory{
"v1": api.EosioV1Factory,
"v2": api.EosioV2Factory,
"contract": api.EosioContractFactory,
"debug": api.DebugApiFactory,
}
// Parse arguments.
// -------------------
p := strings.Split(strings.TrimSpace(request), "|")
@ -45,15 +52,8 @@ func ParseRequest(request string) (api.ApiInterface, error) {
a := ParseArguments(p[1:])
switch p[0] {
case "v1":
return api.NewEosioV1(a.Url, a.Host, float64(a.NumBlocks / 2)), nil
case "v2":
return api.NewEosioV2(a.Url, a.Host, int64(a.NumBlocks)), nil
case "contract":
return api.NewEosioContract(a.Url, float64(a.NumBlocks / 2)), nil
case "debug":
return api.NewDebugApi(a.Url), nil
if factory, ok := factories[p[0]]; ok {
return factory(a), nil
}
return nil, fmt.Errorf("invalid API '%s'", p[0])