Merge pull request #5 from github/edgonmsft/codespaces-ssh-rpc

Adding sshRPC interface
This commit is contained in:
Edmundo Gonzalez 2021-08-26 16:27:16 -07:00 committed by GitHub
commit 49cebb11ca

34
sshServer.go Normal file
View file

@ -0,0 +1,34 @@
package liveshare
import (
"context"
"errors"
)
type SSHServer struct {
client *Client
}
func NewSSHServer(client *Client) (*SSHServer, error) {
if !client.hasJoined() {
return nil, errors.New("client must join before creating server")
}
return &SSHServer{client: client}, nil
}
type SSHServerStartResult struct {
Result bool `json:"result"`
ServerPort string `json:"serverPort"`
User string `json:"user"`
Message string `json:"message"`
}
func (s *SSHServer) StartRemoteServer(ctx context.Context) (SSHServerStartResult, error) {
var response SSHServerStartResult
if err := s.client.rpc.do(ctx, "ISshServerHostService.startRemoteServer", []string{}, &response); err != nil {
return response, err
}
return response, nil
}