Documentation ¶
Index ¶
Constants ¶
const ( // TransportReturnRouteNone return route option none. TransportReturnRouteNone = "none" // TransportReturnRouteAll return route option all. TransportReturnRouteAll = "all" // TransportReturnRouteThread return route option thread. TransportReturnRouteThread = "thread" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Attachment ¶ added in v0.1.2
type Attachment struct { // ID is a JSON-LD construct that uniquely identifies attached content within the scope of a given message. // Recommended on appended attachment descriptors. Possible but generally unused on embedded attachment descriptors. // Never required if no references to the attachment exist; if omitted, then there is no way // to refer to the attachment later in the thread, in error messages, and so forth. // Because @id is used to compose URIs, it is recommended that this name be brief and avoid spaces // and other characters that require URI escaping. ID string `json:"@id,omitempty"` // Description is an optional human-readable description of the content. Description string `json:"description,omitempty"` // FileName is a hint about the name that might be used if this attachment is persisted as a file. // It is not required, and need not be unique. If this field is present and mime-type is not, // the extension on the filename may be used to infer a MIME type. FileName string `json:"filename,omitempty"` // MimeType describes the MIME type of the attached content. Optional but recommended. MimeType string `json:"mime-type,omitempty"` // LastModTime is a hint about when the content in this attachment was last modified. LastModTime time.Time `json:"lastmod_time,omitempty"` // ByteCount is an optional, and mostly relevant when content is included by reference instead of by value. // Lets the receiver guess how expensive it will be, in time, bandwidth, and storage, to fully fetch the attachment. ByteCount int64 `json:"byte_count,omitempty"` // Data is a JSON object that gives access to the actual content of the attachment. Data AttachmentData `json:"data,omitempty"` }
Attachment is intended to provide the possibility to include files, links or even JSON payload to the message. To find out more please visit https://github.com/hyperledger/aries-rfcs/tree/master/concepts/0017-attachments
func GenericAttachmentsToV1 ¶ added in v0.1.8
func GenericAttachmentsToV1(attachments []GenericAttachment) []Attachment
GenericAttachmentsToV1 converts a slice of GenericAttachment to a slice of Attachment.
type AttachmentData ¶ added in v0.1.2
type AttachmentData struct { // Sha256 is a hash of the content. Optional. Used as an integrity check if content is inlined. // if content is only referenced, then including this field makes the content tamper-evident. // This may be redundant, if the content is stored in an inherently immutable container like // content-addressable storage. This may also be undesirable, if dynamic content at a specified // link is beneficial. Including a hash without including a way to fetch the content via link // is a form of proof of existence. Sha256 string `json:"sha256,omitempty"` // Links is a list of zero or more locations at which the content may be fetched. Links []string `json:"links,omitempty"` // Base64 encoded data, when representing arbitrary content inline instead of via links. Optional. Base64 string `json:"base64,omitempty"` // JSON is a directly embedded JSON data, when representing content inline instead of via links, // and when the content is natively conveyable as JSON. Optional. JSON interface{} `json:"json,omitempty"` // JWS is a JSON web signature over the encoded data, in detached format. JWS json.RawMessage `json:"jws,omitempty"` }
AttachmentData contains attachment payload.
func (*AttachmentData) Fetch ¶ added in v0.1.3
func (d *AttachmentData) Fetch() ([]byte, error)
Fetch this attachment's contents.
func (*AttachmentData) Sign ¶ added in v0.1.7
func (d *AttachmentData) Sign(c crypto.Crypto, kh, pub interface{}, pubBytes []byte) error
Sign signs the base64 payload of the AttachmentData, and adds the signature to the attachment.
func (*AttachmentData) Verify ¶ added in v0.1.7
func (d *AttachmentData) Verify(c crypto.Crypto, keyManager kms.KeyManager) error
Verify verifies the signature on the attachment data.
type AttachmentV2 ¶ added in v0.1.7
type AttachmentV2 struct { // ID is a JSON-LD construct that uniquely identifies attached content within the scope of a given message. // Recommended on appended attachment descriptors. Possible but generally unused on embedded attachment descriptors. // Never required if no references to the attachment exist; if omitted, then there is no way // to refer to the attachment later in the thread, in error messages, and so forth. // Because @id is used to compose URIs, it is recommended that this name be brief and avoid spaces // and other characters that require URI escaping. ID string `json:"id,omitempty"` // Description is an optional human-readable description of the content. Description string `json:"description,omitempty"` // FileName is a hint about the name that might be used if this attachment is persisted as a file. // It is not required, and need not be unique. If this field is present and mime-type is not, // the extension on the filename may be used to infer a MIME type. FileName string `json:"filename,omitempty"` // MediaType describes the MIME type of the attached content. Optional but recommended. MediaType string `json:"media_type,omitempty"` // LastModTime is a hint about when the content in this attachment was last modified. LastModTime time.Time `json:"lastmod_time,omitempty"` // ByteCount is an optional, and mostly relevant when content is included by reference instead of by value. // Lets the receiver guess how expensive it will be, in time, bandwidth, and storage, to fully fetch the attachment. ByteCount int64 `json:"byte_count,omitempty"` // Data is a JSON object that gives access to the actual content of the attachment. Data AttachmentData `json:"data,omitempty"` // Format describes the format of the attachment if the media_type is not sufficient. Format string `json:"format,omitempty"` }
AttachmentV2 is intended to provide the possibility to include files, links or even JSON payload to the message. To find out more please visit https://identity.foundation/didcomm-messaging/spec/#attachments
func GenericAttachmentsToV2 ¶ added in v0.1.8
func GenericAttachmentsToV2(attachments []GenericAttachment) []AttachmentV2
GenericAttachmentsToV2 converts a slice of GenericAttachment to a slice of AttachmentV2.
type GenericAttachment ¶ added in v0.1.8
type GenericAttachment struct { // ID is the attachment ID.. ID string `json:"id,omitempty"` // Description is an optional human-readable description of the content. Description string `json:"description,omitempty"` // FileName is a hint about the name that might be used if this attachment is persisted as a file. // It is not required, and need not be unique. If this field is present and mime-type is not, // the extension on the filename may be used to infer a MIME type. FileName string `json:"filename,omitempty"` // MediaType describes the MIME type of the attached content in a DIDComm v2 attachment. Optional but recommended. MediaType string `json:"media_type,omitempty"` // LastModTime is a hint about when the content in this attachment was last modified. LastModTime time.Time `json:"lastmod_time,omitempty"` // ByteCount is an optional, and mostly relevant when content is included by reference instead of by value. // Lets the receiver guess how expensive it will be, in time, bandwidth, and storage, to fully fetch the attachment. ByteCount int64 `json:"byte_count,omitempty"` // Data is a JSON object that gives access to the actual content of the attachment. Data AttachmentData `json:"data,omitempty"` // Format describes the format of the attachment if the media_type is not sufficient, in a DIDComm v2 attachment. Format string `json:"format,omitempty"` // contains filtered or unexported fields }
GenericAttachment is used to work with DIDComm attachments that can be either DIDComm v1 or DIDComm v2.
func V1AttachmentsToGeneric ¶ added in v0.1.8
func V1AttachmentsToGeneric(attachments []Attachment) []GenericAttachment
V1AttachmentsToGeneric converts a slice of Attachment to a slice of GenericAttachment.
func V2AttachmentsToGeneric ¶ added in v0.1.8
func V2AttachmentsToGeneric(attachments []AttachmentV2) []GenericAttachment
V2AttachmentsToGeneric converts a slice of AttachmentV2 to a slice of GenericAttachment.
func (*GenericAttachment) AsV1 ¶ added in v0.1.8
func (ga *GenericAttachment) AsV1() Attachment
AsV1 returns the attachment as a DIDComm v1 attachment.
func (*GenericAttachment) AsV2 ¶ added in v0.1.8
func (ga *GenericAttachment) AsV2() AttachmentV2
AsV2 returns the attachment as a DIDComm v2 attachment.
func (*GenericAttachment) Version ¶ added in v0.1.8
func (ga *GenericAttachment) Version() Version
Version returns the DIDComm version of this attachment.
type ReturnRoute ¶ added in v0.1.1
type ReturnRoute struct {
Value string `json:"~return_route,omitempty"`
}
ReturnRoute works with Transport decorator. Acceptable values - "none", "all" or "thread".
type Thread ¶
type Thread struct { ID string `json:"thid,omitempty"` PID string `json:"pthid,omitempty"` SenderOrder int `json:"sender_order,omitempty"` ReceivedOrders map[string]int `json:"received_orders,omitempty"` }
Thread thread data.
type Transport ¶ added in v0.1.1
type Transport struct {
ReturnRoute *ReturnRoute `json:"~transport,omitempty"`
}
Transport transport decorator https://github.com/hyperledger/aries-rfcs/tree/master/features/0092-transport-return-route
type WebRedirect ¶ added in v0.1.8
type WebRedirect struct { // Status of the operation, // Refer https://github.com/hyperledger/aries-rfcs/blob/main/features/0015-acks/README.md#ack-status. Status string `json:"status,omitempty"` // URL to which recipient of this message is being requested to redirect. URL string `json:"url,omitempty"` }
WebRedirect decorator for passing web redirect info to ask recipient of the message to redirect after completion of flow.