diff --git a/client/config.go b/client/config.go index 9d92da0..4469a4e 100644 --- a/client/config.go +++ b/client/config.go @@ -41,7 +41,7 @@ type UserAgentConfig struct { func NewDingtalkGoSDKUserAgent() *UserAgentConfig { return &UserAgentConfig{ - UserAgent: "dingtalk-sdk-go/v0.8.0", + UserAgent: "dingtalk-sdk-go/v0.9.0", } } diff --git a/plugin/model.go b/plugin/model.go index fdebdfa..715be3b 100644 --- a/plugin/model.go +++ b/plugin/model.go @@ -7,6 +7,7 @@ import ( type GraphRequestLine struct { Method string `json:"method"` Uri string `json:"uri"` + Path string `json:"-"` } type GraphRequest struct { RequestLine GraphRequestLine `json:"requestLine"` diff --git a/plugin/plugin_handler.go b/plugin/plugin_handler.go index 12d5a81..7aaf41f 100644 --- a/plugin/plugin_handler.go +++ b/plugin/plugin_handler.go @@ -3,6 +3,7 @@ package plugin import ( "context" "encoding/json" + "strings" "github.com/open-dingtalk/dingtalk-stream-sdk-go/payload" ) @@ -29,6 +30,12 @@ func (h *DefaultPluginFrameHandler) OnEventReceived(ctx context.Context, df *pay if err != nil { return nil, err } + pos := strings.Index(msgData.RequestLine.Uri, "?") + if pos >= 0 { + msgData.RequestLine.Path = msgData.RequestLine.Uri[:pos] + } else { + msgData.RequestLine.Path = msgData.RequestLine.Uri + } if h.defaultHandler == nil { return payload.NewDataFrameResponse(payload.DataFrameResponseStatusCodeKHandlerNotFound), nil