protocol.go 743 B

1234567891011121314151617181920212223242526272829303132333435
  1. package sshd
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "hnyfkj.com.cn/rtu/linux/utils/jsonrpc2"
  6. "hnyfkj.com.cn/rtu/linux/utils/shell"
  7. )
  8. func buildResp(req *jsonrpc2.Request, result any, err error) *jsonrpc2.Response {
  9. if err != nil {
  10. return jsonrpc2.BuildError(req, -32700, err.Error())
  11. }
  12. resp, err := jsonrpc2.BuildResult(req, result)
  13. if err != nil {
  14. return jsonrpc2.BuildError(req, jsonrpc2.ErrInternal, "")
  15. }
  16. return resp
  17. }
  18. func parseShellExecuteParams(params json.RawMessage) (shell.ExecuteParams, error) {
  19. if len(params) == 0 {
  20. return shell.ExecuteParams{}, fmt.Errorf("missing params")
  21. }
  22. var p shell.ExecuteParams
  23. if err := json.Unmarshal(params, &p); err != nil {
  24. return shell.ExecuteParams{}, err
  25. }
  26. return p, nil
  27. }