...
1
2
3
4
5
6
7 package options
8
9 import (
10 "net/http"
11
12 "go.mongodb.org/mongo-driver/x/bsonx/bsoncore"
13 )
14
15
16 type MongoCryptOptions struct {
17 KmsProviders bsoncore.Document
18 LocalSchemaMap map[string]bsoncore.Document
19 BypassQueryAnalysis bool
20 EncryptedFieldsMap map[string]bsoncore.Document
21 CryptSharedLibDisabled bool
22 CryptSharedLibOverridePath string
23 HTTPClient *http.Client
24 }
25
26
27 func MongoCrypt() *MongoCryptOptions {
28 return &MongoCryptOptions{}
29 }
30
31
32 func (mo *MongoCryptOptions) SetKmsProviders(kmsProviders bsoncore.Document) *MongoCryptOptions {
33 mo.KmsProviders = kmsProviders
34 return mo
35 }
36
37
38 func (mo *MongoCryptOptions) SetLocalSchemaMap(localSchemaMap map[string]bsoncore.Document) *MongoCryptOptions {
39 mo.LocalSchemaMap = localSchemaMap
40 return mo
41 }
42
43
44 func (mo *MongoCryptOptions) SetBypassQueryAnalysis(bypassQueryAnalysis bool) *MongoCryptOptions {
45 mo.BypassQueryAnalysis = bypassQueryAnalysis
46 return mo
47 }
48
49
50 func (mo *MongoCryptOptions) SetEncryptedFieldsMap(efcMap map[string]bsoncore.Document) *MongoCryptOptions {
51 mo.EncryptedFieldsMap = efcMap
52 return mo
53 }
54
55
56 func (mo *MongoCryptOptions) SetCryptSharedLibDisabled(disabled bool) *MongoCryptOptions {
57 mo.CryptSharedLibDisabled = disabled
58 return mo
59 }
60
61
62
63 func (mo *MongoCryptOptions) SetCryptSharedLibOverridePath(path string) *MongoCryptOptions {
64 mo.CryptSharedLibOverridePath = path
65 return mo
66 }
67
68
69 func (mo *MongoCryptOptions) SetHTTPClient(httpClient *http.Client) *MongoCryptOptions {
70 mo.HTTPClient = httpClient
71 return mo
72 }
73
View as plain text