DeleteSession removes a saved session.
(ctx context.Context, req *pb.DeleteSessionRequest)
| 279 | |
| 280 | // DeleteSession removes a saved session. |
| 281 | func (h *Handler) DeleteSession(ctx context.Context, req *pb.DeleteSessionRequest) (*pb.DeleteSessionResponse, error) { |
| 282 | if h.sessionManager == nil { |
| 283 | return nil, status.Errorf(codes.Unavailable, "%s", i18n.T("server.session.mgmt_unavailable")) |
| 284 | } |
| 285 | |
| 286 | if req.Name == "" { |
| 287 | return nil, status.Errorf(codes.InvalidArgument, "%s", i18n.T("server.session.name_empty")) |
| 288 | } |
| 289 | |
| 290 | if err := h.sessionManager.DeleteSession(req.Name); err != nil { |
| 291 | return nil, status.Errorf(codes.Internal, "%s", i18n.T("server.session.delete_error", err)) |
| 292 | } |
| 293 | |
| 294 | if h.sessionMetrics != nil { |
| 295 | h.sessionMetrics.OperationsTotal.WithLabelValues("delete").Inc() |
| 296 | } |
| 297 | return &pb.DeleteSessionResponse{Success: true}, nil |
| 298 | } |
| 299 | |
| 300 | // executeRemoteCommand parses and executes a server-side command, returning the result string. |
| 301 | func (h *Handler) executeRemoteCommand(rawCommand string) string { |