Documentation ¶
Index ¶
Constants ¶
const ( // Introduce protocol name Introduce = "introduce" // IntroduceSpec defines the introduce spec IntroduceSpec = "https://didcomm.org/introduce/1.0/" // SkipProposalMsgType defines the skip proposal (the introducer has a public invitation) // skip proposal is not part of protocol specification (internal usage) SkipProposalMsgType = "skip/proposal" // ProposalMsgType defines the introduce proposal message type. ProposalMsgType = IntroduceSpec + "proposal" // RequestMsgType defines the introduce request message type. RequestMsgType = IntroduceSpec + "request" // ResponseMsgType defines the introduce response message type. ResponseMsgType = IntroduceSpec + "response" // AckMsgType defines the introduce ack message type. AckMsgType = IntroduceSpec + "ack" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Content ¶
type Content struct { Link string `json:"link,omitempty"` ByteCount int `json:"byte_count,omitempty"` Sha256 string `json:"sha256,omitempty"` }
Content keeps image data
type DescriptionL10N ¶
DescriptionL10N may contain locale field and key->val pair for translation e.g { "locale": "en", "es": "Donde se toma el MRI; no en el centro"}, where locale field tells that field Description form To struct has en translation
func (DescriptionL10N) Locale ¶
func (d DescriptionL10N) Locale() string
Locale returns locale for the specified description (To.Description)
type ImgAttach ¶
type ImgAttach struct { Description string `json:"description,omitempty"` MimeType string `json:"mime-type,omitempty"` Filename string `json:"filename,omitempty"` Content Content `json:"content,omitempty"` }
ImgAttach represent information about the image
type PleaseIntroduceTo ¶
type PleaseIntroduceTo struct {
To
}
PleaseIntroduceTo includes all field from To structure also it has Discovered the field which should be provided by help-me-discover protocol
type Proposal ¶
type Proposal struct { Type string `json:"@type,omitempty"` ID string `json:"@id,omitempty"` To To `json:"to,omitempty"` NWise bool `json:"nwise,omitempty"` Timing *decorator.Timing `json:"~timing,omitempty"` }
Proposal defines proposal request
type Request ¶
type Request struct { Type string `json:"@type,omitempty"` ID string `json:"@id,omitempty"` PleaseIntroduceTo PleaseIntroduceTo `json:"please_introduce_to,omitempty"` NWise bool `json:"nwise,omitempty"` Timing *decorator.Timing `json:"~timing,omitempty"` }
Request is not part of any state machine, it can be sent at any time, and when it is received, the recipient can choose whether or not to honor it in their own way TODO: need to clarify about decorator ~please_ack and problem_report
should Request contain those fields? What type it should be for each field?
type Response ¶
type Response struct { Type string `json:"@type,omitempty"` ID string `json:"@id,omitempty"` Thread *decorator.Thread `json:"~thread,omitempty"` Approve bool `json:"approve,omitempty"` Invitation *didexchange.Invitation `json:"invitation,omitempty"` }
Response message that introducee usually sends in response to an introduction proposal
type Service ¶
Service for introduce protocol
func (*Service) HandleInbound ¶
func (s *Service) HandleInbound(msg *service.DIDCommMsg) (string, error)
HandleInbound handles inbound message (introduce protocol)
func (*Service) HandleOutbound ¶
func (s *Service) HandleOutbound(msg *service.DIDCommMsg, dest *service.Destination) error
HandleOutbound handles outbound message (introduce protocol)
type To ¶
type To struct { Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` DescriptionL10N DescriptionL10N `json:"description~l10n,omitempty"` Where string `json:"where,omitempty"` ImgAttach ImgAttach `json:"img~attach,omitempty"` Proposed bool `json:"proposed,omitempty"` }
To introducee descriptor keeps information about the introduction e.g introducer wants to introduce Bot to introducee { "name": "Bob" }