diff --git a/proxy-libs/heliosmongo/go.mod b/proxy-libs/heliosmongo/go.mod index 71e721b..9bb1336 100644 --- a/proxy-libs/heliosmongo/go.mod +++ b/proxy-libs/heliosmongo/go.mod @@ -4,8 +4,8 @@ go 1.18 require ( github.com/stretchr/testify v1.8.1 - go.mongodb.org/mongo-driver v1.11.0 - go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.36.4 + go.mongodb.org/mongo-driver v1.9.4 + go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.33.0 go.opentelemetry.io/otel v1.11.1 go.opentelemetry.io/otel/sdk v1.11.1 go.opentelemetry.io/otel/trace v1.11.1 @@ -15,7 +15,9 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-stack/stack v1.8.0 // indirect github.com/golang/snappy v0.0.4 // indirect + github.com/hashicorp/go-version v1.6.0 // indirect github.com/klauspost/compress v1.15.12 // indirect github.com/montanaflynn/stats v0.6.6 // indirect github.com/pkg/errors v0.9.1 // indirect @@ -29,4 +31,4 @@ require ( golang.org/x/sys v0.2.0 // indirect golang.org/x/text v0.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect -) +) \ No newline at end of file diff --git a/proxy-libs/heliosmongo/go.sum b/proxy-libs/heliosmongo/go.sum index c3ca815..09c9e45 100644 --- a/proxy-libs/heliosmongo/go.sum +++ b/proxy-libs/heliosmongo/go.sum @@ -6,11 +6,15 @@ github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= +github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.12 h1:YClS/PImqYbn+UILDnqxQCZ3RehC9N318SU3kElDUEM= github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= @@ -38,15 +42,21 @@ github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E= github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs= github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4= +go.mongodb.org/mongo-driver v1.9.4 h1:qXWlnK2WCOWSxJ/Hm3XyYOGKv3ujA2btBsCyuIFvQjc= +go.mongodb.org/mongo-driver v1.9.4/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= go.mongodb.org/mongo-driver v1.11.0 h1:FZKhBSTydeuffHj9CBjXlR8vQLee1cQyTWYPA6/tqiE= go.mongodb.org/mongo-driver v1.11.0/go.mod h1:s7p5vEtfbeR1gYi6pnj3c3/urpbLv2T5Sfd6Rp2HBB8= +go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.33.0 h1:XM8+Uojy+jxM7v56u+DVFFR5jVVSNlQIwV99PB4kg9s= +go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.33.0/go.mod h1:v4XAvjK7zf0u1qpnktGXsx7CxrrhjnGMFb/fRw+4emo= go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.36.4 h1:IKvVGMy0s5MH0cKfwmwiHVtnrVOFuHU/wznLa8eN+Cs= go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo v0.36.4/go.mod h1:mHrZBcL5tUSxYX1emmDCNDDf9an1PedCEGum4p9+Ep8= go.opentelemetry.io/otel v1.11.1 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4= @@ -57,32 +67,40 @@ go.opentelemetry.io/otel/trace v1.11.1 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZX go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= \ No newline at end of file diff --git a/proxy-libs/heliosmongo/mongo.go b/proxy-libs/heliosmongo/mongo.go index 66f2b3b..0610033 100644 --- a/proxy-libs/heliosmongo/mongo.go +++ b/proxy-libs/heliosmongo/mongo.go @@ -1,80 +1,73 @@ package heliosmongo +import ( "context" -import ( - "context" - - "go.mongodb.org/mongo-driver/bson/bsoncodec" - originalMongo "go.mongodb.org/mongo-driver/mongo" - "go.mongodb.org/mongo-driver/mongo/options" - "go.mongodb.org/mongo-driver/x/mongo/driver" - "go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo" +"go.mongodb.org/mongo-driver/bson/bsoncodec" +origin_mongo "go.mongodb.org/mongo-driver/mongo" +"go.mongodb.org/mongo-driver/mongo/options" +"go.mongodb.org/mongo-driver/x/mongo/driver" +"go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo" ) +type Database = origin_mongo.Database + +type IndexOptionsBuilder = origin_mongo.IndexOptionsBuilder + +func NewIndexOptionsBuilder() (*IndexOptionsBuilder) { + return origin_mongo.NewIndexOptionsBuilder() + } + +var ErrInvalidIndexValue = origin_mongo.ErrInvalidIndexValue + +var ErrNonStringIndexName = origin_mongo.ErrNonStringIndexName + +var ErrMultipleIndexDrop = origin_mongo.ErrMultipleIndexDrop + +type IndexView = origin_mongo.IndexView + +type IndexModel = origin_mongo.IndexModel + +var ErrMissingResumeToken = origin_mongo.ErrMissingResumeToken + +var ErrNilCursor = origin_mongo.ErrNilCursor + +type ChangeStream = origin_mongo.ChangeStream + +type StreamType = origin_mongo.StreamType + +const CollectionStream = origin_mongo.CollectionStream + +const DatabaseStream = origin_mongo.DatabaseStream + +const ClientStream = origin_mongo.ClientStream + +type BulkWriteResult = origin_mongo.BulkWriteResult + +type InsertOneResult = origin_mongo.InsertOneResult + +type InsertManyResult = origin_mongo.InsertManyResult + +type DeleteResult = origin_mongo.DeleteResult + +type ListDatabasesResult = origin_mongo.ListDatabasesResult -const ClientStream = originalMongo.ClientStream -const CollectionStream = originalMongo.CollectionStream -const DatabaseStream = originalMongo.DatabaseStream - -type BSONAppender = originalMongo.BSONAppender -type BSONAppenderFunc = originalMongo.BSONAppenderFunc -type BulkWriteError = originalMongo.BulkWriteError -type BulkWriteException = originalMongo.BulkWriteException -type BulkWriteResult = originalMongo.BulkWriteResult -type ChangeStream = originalMongo.ChangeStream -type Client = originalMongo.Client -type ClientEncryption = originalMongo.ClientEncryption -type Collection = originalMongo.Collection -type CollectionSpecification = originalMongo.CollectionSpecification -type CommandError = originalMongo.CommandError -type Cursor = originalMongo.Cursor -type Database = originalMongo.Database -type DatabaseSpecification = originalMongo.DatabaseSpecification -type DeleteManyModel = originalMongo.DeleteManyModel -type DeleteOneModel = originalMongo.DeleteOneModel -type DeleteResult = originalMongo.DeleteResult -type Dialer = originalMongo.Dialer -type EncryptionKeyVaultError = originalMongo.EncryptionKeyVaultError -type ErrMapForOrderedArgument = originalMongo.ErrMapForOrderedArgument -type IndexModel = originalMongo.IndexModel -type IndexOptionsBuilder = originalMongo.IndexOptionsBuilder -type IndexSpecification = originalMongo.IndexSpecification -type IndexView = originalMongo.IndexView -type InsertManyResult = originalMongo.InsertManyResult -type InsertOneModel = originalMongo.InsertOneModel -type InsertOneResult = originalMongo.InsertOneResult -type ListDatabasesResult = originalMongo.ListDatabasesResult -type MarshalError = originalMongo.MarshalError -type MongocryptError = originalMongo.MongocryptError -type MongocryptdError = originalMongo.MongocryptdError -type Pipeline = originalMongo.Pipeline -type ReplaceOneModel = originalMongo.ReplaceOneModel -type RewrapManyDataKeyResult = originalMongo.RewrapManyDataKeyResult -type ServerError = originalMongo.ServerError -type Session = originalMongo.Session -type SessionContext = originalMongo.SessionContext -type SingleResult = originalMongo.SingleResult -type StreamType = originalMongo.StreamType -type UpdateManyModel = originalMongo.UpdateManyModel -type UpdateOneModel = originalMongo.UpdateOneModel -type UpdateResult = originalMongo.UpdateResult -type WriteConcernError = originalMongo.WriteConcernError -type WriteError = originalMongo.WriteError -type WriteErrors = originalMongo.WriteErrors -type WriteException = originalMongo.WriteException -type WriteModel = originalMongo.WriteModel -type XSession = originalMongo.XSession - -var ErrClientDisconnected = originalMongo.ErrClientDisconnected -var ErrEmptySlice = originalMongo.ErrEmptySlice -var ErrInvalidIndexValue = originalMongo.ErrInvalidIndexValue -var ErrMissingResumeToken = originalMongo.ErrMissingResumeToken -var ErrMultipleIndexDrop = originalMongo.ErrMultipleIndexDrop -var ErrNilCursor = originalMongo.ErrNilCursor -var ErrNilDocument = originalMongo.ErrNilDocument -var ErrNilValue = originalMongo.ErrNilValue -var ErrNoDocuments = originalMongo.ErrNoDocuments -var ErrNonStringIndexName = originalMongo.ErrNonStringIndexName -var ErrUnacknowledgedWrite = originalMongo.ErrUnacknowledgedWrite -var ErrWrongClient = originalMongo.ErrWrongClient +type DatabaseSpecification = origin_mongo.DatabaseSpecification + +type UpdateResult = origin_mongo.UpdateResult + +type IndexSpecification = origin_mongo.IndexSpecification + +type CollectionSpecification = origin_mongo.CollectionSpecification + +type Dialer = origin_mongo.Dialer + +type BSONAppender = origin_mongo.BSONAppender + +type BSONAppenderFunc = origin_mongo.BSONAppenderFunc + +type MarshalError = origin_mongo.MarshalError + +type Pipeline = origin_mongo.Pipeline + +type ClientEncryption = origin_mongo.ClientEncryption func setMonitor(opts []*options.ClientOptions) []*options.ClientOptions { monitor := otelmongo.NewMonitor() @@ -88,78 +81,140 @@ func setMonitor(opts []*options.ClientOptions) []*options.ClientOptions { return opts } -func BatchCursorFromCursor(c *Cursor) *driver.BatchCursor { - return originalMongo.BatchCursorFromCursor(c) -} +func NewClientEncryption(keyVaultClient *Client,opts ...*options.ClientEncryptionOptions) (*ClientEncryption,error) { + return origin_mongo.NewClientEncryption(keyVaultClient,opts ...) + } -func Connect(ctx context.Context, opts ...*options.ClientOptions) (*Client, error) { - return originalMongo.Connect(ctx, setMonitor(opts)...) -} +type Cursor = origin_mongo.Cursor -func IsDuplicateKeyError(err error) bool { - return originalMongo.IsDuplicateKeyError(err) -} +func NewCursorFromDocuments(documents []interface{},err error,registry *bsoncodec.Registry) (*Cursor,error) { + return origin_mongo.NewCursorFromDocuments(documents,err,registry) + } -func IsNetworkError(err error) bool { - return originalMongo.IsNetworkError(err) -} +func BatchCursorFromCursor(c *Cursor) (*driver.BatchCursor) { + return origin_mongo.BatchCursorFromCursor(c) + } -func IsTimeout(err error) bool { - return originalMongo.IsTimeout(err) -} +var ErrWrongClient = origin_mongo.ErrWrongClient -func NewClient(opts ...*options.ClientOptions) (*Client, error) { - return originalMongo.NewClient(setMonitor(opts)...) -} +type SessionContext = origin_mongo.SessionContext -func NewClientEncryption(keyVaultClient *Client, opts ...*options.ClientEncryptionOptions) (*ClientEncryption, error) { - return originalMongo.NewClientEncryption(keyVaultClient, opts...) -} +func NewSessionContext(ctx context.Context,sess Session) (SessionContext) { + return origin_mongo.NewSessionContext(ctx,sess) + } -func NewCursorFromDocuments(documents []interface{}, err error, registry *bsoncodec.Registry) (*Cursor, error) { - return originalMongo.NewCursorFromDocuments(documents, err, registry) -} +func SessionFromContext(ctx context.Context) (Session) { + return origin_mongo.SessionFromContext(ctx) + } -func NewDeleteManyModel() *DeleteManyModel { - return originalMongo.NewDeleteManyModel() -} +type Session = origin_mongo.Session -func NewDeleteOneModel() *DeleteOneModel { - return originalMongo.NewDeleteOneModel() -} +type XSession = origin_mongo.XSession -func NewIndexOptionsBuilder() *IndexOptionsBuilder { - return originalMongo.NewIndexOptionsBuilder() -} +var ErrNoDocuments = origin_mongo.ErrNoDocuments -func NewInsertOneModel() *InsertOneModel { - return originalMongo.NewInsertOneModel() -} +type SingleResult = origin_mongo.SingleResult -func NewReplaceOneModel() *ReplaceOneModel { - return originalMongo.NewReplaceOneModel() -} +func NewSingleResultFromDocument(document interface{},err error,registry *bsoncodec.Registry) (*SingleResult) { + return origin_mongo.NewSingleResultFromDocument(document,err,registry) + } -func NewSessionContext(ctx context.Context, sess Session) SessionContext { - return originalMongo.NewSessionContext(ctx, sess) -} +type Client = origin_mongo.Client -func NewSingleResultFromDocument(document interface{}, err error, registry *bsoncodec.Registry) *SingleResult { - return originalMongo.NewSingleResultFromDocument(document, err, registry) -} +func Connect(ctx context.Context,opts ...*options.ClientOptions) (*Client,error) { + return origin_mongo.Connect(ctx,setMonitor(opts)...) + } -func NewUpdateManyModel() *UpdateManyModel { - return originalMongo.NewUpdateManyModel() -} +func NewClient(opts ...*options.ClientOptions) (*Client,error) { + return origin_mongo.NewClient(opts ...) + } -func NewUpdateOneModel() *UpdateOneModel { - return originalMongo.NewUpdateOneModel() -} +func WithSession(ctx context.Context,sess Session,fn func(SessionContext) error) (error) { + return origin_mongo.WithSession(ctx,sess,fn) + } -func SessionFromContext(ctx context.Context) Session { - return originalMongo.SessionFromContext(ctx) -} +type WriteModel = origin_mongo.WriteModel -func WithSession(ctx context.Context, sess Session, fn func(SessionContext) error) error { - return originalMongo.WithSession(ctx, sess, fn) -} +type InsertOneModel = origin_mongo.InsertOneModel + +func NewInsertOneModel() (*InsertOneModel) { + return origin_mongo.NewInsertOneModel() + } + +type DeleteOneModel = origin_mongo.DeleteOneModel + +func NewDeleteOneModel() (*DeleteOneModel) { + return origin_mongo.NewDeleteOneModel() + } + +type DeleteManyModel = origin_mongo.DeleteManyModel + +func NewDeleteManyModel() (*DeleteManyModel) { + return origin_mongo.NewDeleteManyModel() + } + +type ReplaceOneModel = origin_mongo.ReplaceOneModel + +func NewReplaceOneModel() (*ReplaceOneModel) { + return origin_mongo.NewReplaceOneModel() + } + +type UpdateOneModel = origin_mongo.UpdateOneModel + +func NewUpdateOneModel() (*UpdateOneModel) { + return origin_mongo.NewUpdateOneModel() + } + +type UpdateManyModel = origin_mongo.UpdateManyModel + +func NewUpdateManyModel() (*UpdateManyModel) { + return origin_mongo.NewUpdateManyModel() + } + +type Collection = origin_mongo.Collection + +var ErrUnacknowledgedWrite = origin_mongo.ErrUnacknowledgedWrite + +var ErrClientDisconnected = origin_mongo.ErrClientDisconnected + +var ErrNilDocument = origin_mongo.ErrNilDocument + +var ErrNilValue = origin_mongo.ErrNilValue + +var ErrEmptySlice = origin_mongo.ErrEmptySlice + +type ErrMapForOrderedArgument = origin_mongo.ErrMapForOrderedArgument + +func IsDuplicateKeyError(err error) (bool) { + return origin_mongo.IsDuplicateKeyError(err) + } + +func IsTimeout(err error) (bool) { + return origin_mongo.IsTimeout(err) + } + +func IsNetworkError(err error) (bool) { + return origin_mongo.IsNetworkError(err) + } + +type MongocryptError = origin_mongo.MongocryptError + +type EncryptionKeyVaultError = origin_mongo.EncryptionKeyVaultError + +type MongocryptdError = origin_mongo.MongocryptdError + +type ServerError = origin_mongo.ServerError + +type CommandError = origin_mongo.CommandError + +type WriteError = origin_mongo.WriteError + +type WriteErrors = origin_mongo.WriteErrors + +type WriteConcernError = origin_mongo.WriteConcernError + +type WriteException = origin_mongo.WriteException + +type BulkWriteError = origin_mongo.BulkWriteError + +type BulkWriteException = origin_mongo.BulkWriteException \ No newline at end of file