func (c *Command) GetHandlers() []command.Handler {
	return []command.Handler{
		cmdutil.NewCommandHandler(CommandName, CreateInvitation, c.CreateInvitation),
		cmdutil.NewCommandHandler(CommandName, AcceptInvitation, c.AcceptInvitation),
		cmdutil.NewCommandHandler(CommandName, Actions, c.Actions),
		cmdutil.NewCommandHandler(CommandName, ActionContinue, c.ActionContinue),
		cmdutil.NewCommandHandler(CommandName, ActionStop, c.ActionStop),
	}
}
GetHandlers returns list of all commands supported by this controller command.
package outofband
import (
	"encoding/json"
	"errors"
	"fmt"
	"io"
	"strings"
	"github.com/hyperledger/aries-framework-go/pkg/client/outofband"
	"github.com/hyperledger/aries-framework-go/pkg/common/log"
	"github.com/hyperledger/aries-framework-go/pkg/controller/command"
	"github.com/hyperledger/aries-framework-go/pkg/controller/internal/cmdutil"
	"github.com/hyperledger/aries-framework-go/pkg/controller/webnotifier"
	"github.com/hyperledger/aries-framework-go/pkg/didcomm/common/service"
	protocol "github.com/hyperledger/aries-framework-go/pkg/didcomm/protocol/outofband"
	"github.com/hyperledger/aries-framework-go/pkg/internal/logutil"
)
const (
	InvalidRequestErrorCode = command.Code(iota + command.Outofband)
	CreateInvitationErrorCode
	AcceptInvitationErrorCode
	ActionStopErrorCode
	ActionsErrorCode
	ActionContinueErrorCode
)
const (
	CommandName      = "outofband"
	CreateInvitation = "CreateInvitation"
	AcceptInvitation = "AcceptInvitation"
	ActionStop       = "ActionStop"
	Actions          = "Actions"
	ActionContinue   = "ActionContinue"
	errEmptyRequest = "request was not provided"
	errEmptyMyLabel = "my_label was not provided"
	errEmptyPIID    = "piid was not provided"
	successString = "success"
	_actions = "_actions"
	_states  = "_states"
)
var logger = log.New("aries-framework/controller/outofband")
type Command struct {
	client *outofband.Client
}
func New(ctx outofband.Provider, notifier command.Notifier) (*Command, error) {
	client, err := outofband.New(ctx)
	if err != nil {
		return nil, fmt.Errorf("cannot create a client: %w", err)
	}
	actions := make(chan service.DIDCommAction)
	if err := client.RegisterActionEvent(actions); err != nil {
		return nil, fmt.Errorf("register action event: %w", err)
	}
	states := make(chan service.StateMsg)
	if err := client.RegisterMsgEvent(states); err != nil {
		return nil, fmt.Errorf("register msg event: %w", err)
	}
	obs := webnotifier.NewObserver(notifier)
	obs.RegisterAction(protocol.Name+_actions, actions)
	obs.RegisterStateMsg(protocol.Name+_states, states)
	return &Command{client: client}, nil
}