mirror of https://github.com/status-im/go-waku.git
feat: Use correct rpc method name
This commit is contained in:
parent
06a86f45b0
commit
7a34cf6d45
|
@ -53,7 +53,7 @@ Examples of usage of go-waku as a library can be found in the examples folder. T
|
||||||
|[13/WAKU2-STORE](https://rfc.vac.dev/spec/13)|✔|
|
|[13/WAKU2-STORE](https://rfc.vac.dev/spec/13)|✔|
|
||||||
|[14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14)|✔|
|
|[14/WAKU2-MESSAGE](https://rfc.vac.dev/spec/14)|✔|
|
||||||
|[15/WAKU2-BRIDGE](https://rfc.vac.dev/spec/15)|⛔|
|
|[15/WAKU2-BRIDGE](https://rfc.vac.dev/spec/15)|⛔|
|
||||||
|[16/WAKU2-RPC](https://rfc.vac.dev/spec/16)||
|
|[16/WAKU2-RPC](https://rfc.vac.dev/spec/16)|🚧|
|
||||||
|[17/WAKU2-RLNRELAY](https://rfc.vac.dev/spec/17)||
|
|[17/WAKU2-RLNRELAY](https://rfc.vac.dev/spec/17)||
|
||||||
|[18/WAKU2-SWAP](https://rfc.vac.dev/spec/18)||
|
|[18/WAKU2-SWAP](https://rfc.vac.dev/spec/18)||
|
||||||
|[21/WAKU2-FTSTORE](https://rfc.vac.dev/spec/21)|✔|
|
|[21/WAKU2-FTSTORE](https://rfc.vac.dev/spec/21)|✔|
|
||||||
|
|
|
@ -53,30 +53,26 @@ type SnakeCaseCodecRequest struct {
|
||||||
// on to the calling rpc server.
|
// on to the calling rpc server.
|
||||||
func (c *SnakeCaseCodecRequest) Method() (string, error) {
|
func (c *SnakeCaseCodecRequest) Method() (string, error) {
|
||||||
m, err := c.CodecRequest.Method()
|
m, err := c.CodecRequest.Method()
|
||||||
return snakeCaseToCamelCase(m), err
|
return toWakuMethod(m), err
|
||||||
}
|
}
|
||||||
|
|
||||||
func snakeCaseToCamelCase(inputUnderScoreStr string) (camelCase string) {
|
// toWakuMethod transform get_waku_v2_debug_v1_info to Debug.GetV1Info
|
||||||
isToUpper := false
|
func toWakuMethod(input string) string {
|
||||||
for k, v := range inputUnderScoreStr {
|
typ := "get"
|
||||||
if k == 0 {
|
if strings.HasPrefix(input, "post") {
|
||||||
camelCase = strings.ToUpper(string(inputUnderScoreStr[0]))
|
typ = "post"
|
||||||
} else {
|
} else if strings.HasPrefix(input, "delete") {
|
||||||
if isToUpper {
|
typ = "delete"
|
||||||
camelCase += strings.ToUpper(string(v))
|
|
||||||
isToUpper = false
|
|
||||||
} else {
|
|
||||||
if v == '_' {
|
|
||||||
isToUpper = true
|
|
||||||
} else if v == '.' {
|
|
||||||
isToUpper = true
|
|
||||||
camelCase += string(v)
|
|
||||||
} else {
|
|
||||||
camelCase += string(v)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
|
|
||||||
|
base := typ + "_waku_v2_"
|
||||||
|
cleanedInput := strings.Replace(input, base, "", 1)
|
||||||
|
splited := strings.Split(cleanedInput, "_")
|
||||||
|
|
||||||
|
method := strings.Title(typ)
|
||||||
|
for _, val := range splited[1:] {
|
||||||
|
method = method + strings.Title(val)
|
||||||
|
}
|
||||||
|
|
||||||
|
return strings.Title(splited[0]) + "." + method
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
package rpc
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestConvertWakuMethod(t *testing.T) {
|
||||||
|
res := toWakuMethod("get_waku_v2_debug_v1_info")
|
||||||
|
require.Equal(t, "Debug.GetV1Info", res)
|
||||||
|
|
||||||
|
res = toWakuMethod("post_waku_v2_relay_v1_message")
|
||||||
|
require.Equal(t, "Relay.PostV1Message", res)
|
||||||
|
|
||||||
|
res = toWakuMethod("delete_waku_v2_relay_v1_subscriptions")
|
||||||
|
require.Equal(t, "Relay.DeleteV1Subscriptions", res)
|
||||||
|
}
|
|
@ -22,7 +22,7 @@ func NewWakuRpc(node *node.WakuNode, address string, port int) *WakuRpc {
|
||||||
s.RegisterCodec(NewSnakeCaseCodec(), "application/json")
|
s.RegisterCodec(NewSnakeCaseCodec(), "application/json")
|
||||||
s.RegisterCodec(NewSnakeCaseCodec(), "application/json;charset=UTF-8")
|
s.RegisterCodec(NewSnakeCaseCodec(), "application/json;charset=UTF-8")
|
||||||
|
|
||||||
err := s.RegisterService(&DebugService{node}, "WakuV2Debug")
|
err := s.RegisterService(&DebugService{node}, "Debug")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue