1
0
Fork 0
mirror of https://github.com/eosswedenorg/antelope-api-healthcheck synced 2026-07-02 11:43:42 +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) { 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. // Parse arguments.
// ------------------- // -------------------
p := strings.Split(strings.TrimSpace(request), "|") p := strings.Split(strings.TrimSpace(request), "|")
@ -45,15 +52,8 @@ func ParseRequest(request string) (api.ApiInterface, error) {
a := ParseArguments(p[1:]) a := ParseArguments(p[1:])
switch p[0] { if factory, ok := factories[p[0]]; ok {
case "v1": return factory(a), nil
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
} }
return nil, fmt.Errorf("invalid API '%s'", p[0]) return nil, fmt.Errorf("invalid API '%s'", p[0])