Documentation ¶
Overview ¶
Package aries provides a pluggable dependency framework, where implementors can customize primitives via Service Provider Interfaces (SPIs). The framework comes with a "batteries included" model where default primitives are included. The framework holds a context that can be used to create aries clients.
Usage:
// create the framework framework := aries.New() // get the context ctx := framework.Context() // initialize the aries clients didexchangeClient, err := didexchange.New(ctx)
Example ¶
package main import ( "fmt" "github.com/Universal-Health-Chain/aries-framework-go/pkg/didcomm/transport" "github.com/Universal-Health-Chain/aries-framework-go/pkg/storage" ) func main() { // create the framework with user options framework, err := New( WithInboundTransport(newMockInTransport()), WithStoreProvider(newMockDBProvider()), WithProtocolStateStoreProvider(newMockDBProvider()), ) if err != nil { fmt.Println("failed to create framework") } // get the context from the framework ctx, err := framework.Context() if err != nil { fmt.Println("failed to create framework context") } fmt.Println("context created successfully") fmt.Println(ctx.ServiceEndpoint()) } // mock inbound transport. type mockInTransport struct { } func newMockInTransport() *mockInTransport { return &mockInTransport{} } func (c *mockInTransport) Start(prov transport.Provider) error { return nil } func (c *mockInTransport) Stop() error { return nil } func (c *mockInTransport) Endpoint() string { return "http://server" } // mock DB provider. type mockDBProvider struct { } func newMockDBProvider() *mockDBProvider { return &mockDBProvider{} } func (c *mockDBProvider) OpenStore(name string) (storage.Store, error) { return nil, nil } func (c *mockDBProvider) CloseStore(name string) error { return nil } func (c *mockDBProvider) Close() error { return nil }
Output: context created successfully http://server
Index ¶
- type Aries
- type Option
- func WithCrypto(c crypto.Crypto) Option
- func WithInboundTransport(inboundTransport ...transport.InboundTransport) Option
- func WithKMS(k kms.Creator) Option
- func WithMessageServiceProvider(msv api.MessageServiceProvider) Option
- func WithMessengerHandler(mh service.MessengerHandler) Option
- func WithOutboundTransports(outboundTransports ...transport.OutboundTransport) Option
- func WithPacker(primary packer.Creator, additionalPackers ...packer.Creator) Option
- func WithProtocolStateStoreProvider(prov storage.Provider) Option
- func WithProtocols(protocolSvcCreator ...api.ProtocolSvcCreator) Option
- func WithSecretLock(s secretlock.Service) Option
- func WithStoreProvider(prov storage.Provider) Option
- func WithTransportReturnRoute(transportReturnRoute string) Option
- func WithVDR(v vdrapi.VDR) Option
- func WithVerifiableStore(store verifiable.Store) Option
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Aries ¶
type Aries struct {
// contains filtered or unexported fields
}
Aries provides access to the context being managed by the framework. The context can be used to create aries clients.
func New ¶
New initializes the Aries framework based on the set of options provided. This function returns a framework which can be used to manage Aries clients by getting the framework context.
type Option ¶
Option configures the framework.
func WithCrypto ¶
WithCrypto injects a crypto service to the Aries framework.
func WithInboundTransport ¶
func WithInboundTransport(inboundTransport ...transport.InboundTransport) Option
WithInboundTransport injects an inbound transport to the Aries framework.
func WithMessageServiceProvider ¶
func WithMessageServiceProvider(msv api.MessageServiceProvider) Option
WithMessageServiceProvider injects a message service provider to the Aries framework. Message service provider returns list of message services which can be used to provide custom handle functionality based on incoming messages type and purpose.
func WithMessengerHandler ¶
func WithMessengerHandler(mh service.MessengerHandler) Option
WithMessengerHandler injects a messenger handler to the Aries framework.
func WithOutboundTransports ¶
func WithOutboundTransports(outboundTransports ...transport.OutboundTransport) Option
WithOutboundTransports injects an outbound transports to the Aries framework.
func WithPacker ¶
WithPacker injects at least one Packer service into the Aries framework, with the primary Packer being used for inbound/outbound communication and the additional packers being available for unpacking inbound messages.
func WithProtocolStateStoreProvider ¶
WithProtocolStateStoreProvider injects a protocol state storage provider to the Aries framework.
func WithProtocols ¶
func WithProtocols(protocolSvcCreator ...api.ProtocolSvcCreator) Option
WithProtocols injects a protocol service to the Aries framework.
func WithSecretLock ¶
func WithSecretLock(s secretlock.Service) Option
WithSecretLock injects a SecretLock service to the Aries framework.
func WithStoreProvider ¶
WithStoreProvider injects a storage provider to the Aries framework.
func WithTransportReturnRoute ¶
WithTransportReturnRoute injects transport return route option to the Aries framework. Acceptable values - "none", "all" or "thread". RFC - https://github.com/hyperledger/aries-rfcs/tree/master/features/0092-transport-return-route. Currently, framework supports "all" and "none" option with WebSocket transport ("thread" is not supported).
func WithVerifiableStore ¶
func WithVerifiableStore(store verifiable.Store) Option
WithVerifiableStore injects a verifiable credential store.