func (c *Operation) SendProposalWithOOBInvitation(rw http.ResponseWriter, req *http.Request) {
	rest.Execute(c.command.SendProposalWithOOBInvitation, rw, req.Body)
}
SendProposalWithOOBInvitation swagger:route POST /introduce/send-proposal-with-oob-invitation introduce introduceSendProposalWithOOBInvitation

Sends a proposal with OOBRequest.

Responses:
default: genericError
200: introduceSendProposalWithOOBInvitationResponse
package introduce
import (
	"bytes"
	"encoding/json"
	"errors"
	"fmt"
	"io"
	"net/http"
	"strings"
	"github.com/gorilla/mux"
	client "github.com/hyperledger/aries-framework-go/pkg/client/introduce"
	"github.com/hyperledger/aries-framework-go/pkg/controller/command"
	"github.com/hyperledger/aries-framework-go/pkg/controller/command/introduce"
	"github.com/hyperledger/aries-framework-go/pkg/controller/internal/cmdutil"
	"github.com/hyperledger/aries-framework-go/pkg/controller/rest"
)
const (
	OperationID                          = "/introduce"
	Actions                              = OperationID + "/actions"
	SendProposal                         = OperationID + "/send-proposal"
	SendProposalWithOOBInvitation        = OperationID + "/send-proposal-with-oob-invitation"
	SendRequest                          = OperationID + "/send-request"
	AcceptProposalWithOOBInvitation      = OperationID + "/{piid}/accept-proposal-with-oob-invitation"
	AcceptProposal                       = OperationID + "/{piid}/accept-proposal"
	AcceptRequestWithPublicOOBInvitation = OperationID + "/{piid}/accept-request-with-public-oob-invitation"
	AcceptRequestWithRecipients          = OperationID + "/{piid}/accept-request-with-recipients"
	DeclineProposal                      = OperationID + "/{piid}/decline-proposal"
	DeclineRequest                       = OperationID + "/{piid}/decline-request"
	AcceptProblemReport                  = OperationID + "/{piid}/accept-problem-report"
)
type Operation struct {
	command  *introduce.Command
	handlers []rest.Handler
}
func New(ctx client.Provider, notifier command.Notifier) (*Operation, error) {
	cmd, err := introduce.New(ctx, notifier)
	if err != nil {
		return nil, fmt.Errorf("introduce command : %w", err)
	}
	o := &Operation{command: cmd}
	o.registerHandler()
	return o, nil
}
func (c *Operation) GetRESTHandlers() []rest.Handler {
	return c.handlers
}
func (c *Operation) registerHandler() {
	c.handlers = []rest.Handler{
		cmdutil.NewHTTPHandler(Actions, http.MethodGet, c.Actions),
		cmdutil.NewHTTPHandler(SendProposal, http.MethodPost, c.SendProposal),
		cmdutil.NewHTTPHandler(SendProposalWithOOBInvitation, http.MethodPost, c.SendProposalWithOOBInvitation),
		cmdutil.NewHTTPHandler(SendRequest, http.MethodPost, c.SendRequest),
		cmdutil.NewHTTPHandler(AcceptProposalWithOOBInvitation, http.MethodPost, c.AcceptProposalWithOOBInvitation),
		cmdutil.NewHTTPHandler(AcceptProposal, http.MethodPost, c.AcceptProposal),
		cmdutil.NewHTTPHandler(AcceptRequestWithPublicOOBInvitation, http.MethodPost, c.AcceptRequestWithPublicOOBInvitation),
		cmdutil.NewHTTPHandler(AcceptRequestWithRecipients, http.MethodPost, c.AcceptRequestWithRecipients),
		cmdutil.NewHTTPHandler(DeclineProposal, http.MethodPost, c.DeclineProposal),
		cmdutil.NewHTTPHandler(DeclineRequest, http.MethodPost, c.DeclineRequest),
		cmdutil.NewHTTPHandler(AcceptProblemReport, http.MethodPost, c.AcceptProblemReport),
	}
}
func (c *Operation) Actions(rw http.ResponseWriter, _ *http.Request) {
	rest.Execute(c.command.Actions, rw, nil)
}
func (c *Operation) SendProposal(rw http.ResponseWriter, req *http.Request) {
	rest.Execute(c.command.SendProposal, rw, req.Body)
}