| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package sshd
- import (
- "encoding/json"
- "fmt"
- "strings"
- "hnyfkj.com.cn/rtu/linux/utils/jsonrpc2"
- "hnyfkj.com.cn/rtu/linux/utils/shell"
- )
- func buildResp(req *jsonrpc2.Request, result any, err error) *jsonrpc2.Response {
- if err != nil {
- return jsonrpc2.BuildError(req, jsonrpc2.ErrParse, err.Error())
- }
- resp, err := jsonrpc2.BuildResult(req, result)
- if err != nil {
- return jsonrpc2.BuildError(req, jsonrpc2.ErrInternal, "")
- }
- return resp
- }
- func extractShellExecuteParams(params json.RawMessage) (shell.ExecuteParams, error) {
- if len(params) == 0 {
- return shell.ExecuteParams{}, fmt.Errorf("missing params")
- }
- var p shell.ExecuteParams
- if err := json.Unmarshal(params, &p); err != nil {
- return shell.ExecuteParams{}, err
- }
- return p, nil
- }
- func extractClientID(params json.RawMessage) (string, error) {
- if len(params) == 0 {
- return "", fmt.Errorf("missing params")
- }
- var p struct {
- ClientID string `json:"client_id"`
- }
- if err := json.Unmarshal(params, &p); err != nil {
- return "", err
- }
- clientID := strings.TrimSpace(p.ClientID)
- if clientID == "" {
- return "", fmt.Errorf("clientID is required and cannot be blank")
- }
- return clientID, nil
- }
|