Documentation
¶
Overview ¶
Package vst implements driver.Connection using a VelocyStream connection.
This connection uses VelocyStream (with optional TLS) to connect to the ArangoDB database. It encodes its contents as Velocypack.
Creating an Insecure Connection ¶
To create a VST connection, use code like this.
// Create a VST connection to the database
conn, err := vst.NewConnection(vst.ConnectionConfig{
Endpoints: []string{"http://localhost:8529"},
})
if err != nil {
// Handle error
}
The resulting connection is used to create a client which you will use for normal database requests.
// Create a client
c, err := driver.NewClient(driver.ClientConfig{
Connection: conn,
})
if err != nil {
// Handle error
}
Creating a Secure Connection ¶
To create a secure VST connection, use code like this.
// Create a VST over TLS connection to the database
conn, err := vst.NewConnection(vst.ConnectionConfig{
Endpoints: []string{"https://localhost:8529"},
TLSConfig: &tls.Config{
InsecureSkipVerify: trueWhenUsingNonPublicCertificates,
},
})
if err != nil {
// Handle error
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewConnection ¶
func NewConnection(config ConnectionConfig) (driver.Connection, error)
NewConnection creates a new Velocystream connection based on the given configuration settings.
func NewVstBodyBuilder ¶
func NewVstBodyBuilder() *vstBody
Types ¶
type ConnectionConfig ¶
type ConnectionConfig struct {
// Endpoints holds 1 or more URL's used to connect to the database.
// In case of a connection to an ArangoDB cluster, you must provide the URL's of all coordinators.
Endpoints []string
// TLSConfig holds settings used to configure a TLS (HTTPS) connection.
// This is only used for endpoints using the HTTPS scheme.
TLSConfig *tls.Config
// Transport allows the use of a custom round tripper.
// If Transport is not of type `*http.Transport`, the `TLSConfig` property is not used.
// Otherwise a `TLSConfig` property other than `nil` will overwrite the `TLSClientConfig`
// property of `Transport`.
// Use the Version field in Transport to switch between Velocypack 1.0 / 1.1.
// Note that Velocypack 1.1 requires ArangoDB 3.2 or higher.
// Note that Velocypack 1.0 does not support JWT authentication.
Transport protocol.TransportConfig
// Cluster configuration settings
cluster.ConnectionConfig
}
ConnectionConfig provides all configuration options for a Velocypack connection.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.