Skip to content

Commit 7028b0e

Browse files
committed
Convert extra-options to sub-elements to allow multiple mongocryptdSpawnArgs
1 parent 59bea27 commit 7028b0e

File tree

3 files changed

+18
-15
lines changed

3 files changed

+18
-15
lines changed

config/schema/mongodb-1.0.xsd

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,12 +191,14 @@
191191
</xsd:complexType>
192192

193193
<xsd:complexType name="extra-options">
194-
<xsd:attribute name="mongocryptdURI" type="xsd:string" />
195-
<xsd:attribute name="mongocryptdBypassSpawn" type="xsd:boolean" />
196-
<xsd:attribute name="mongocryptdSpawnPath" type="xsd:string" />
197-
<xsd:attribute name="mongocryptdSpawnArgs" type="xsd:string" />
198-
<xsd:attribute name="cryptSharedLibPath" type="xsd:string" />
199-
<xsd:attribute name="cryptSharedLibRequired" type="xsd:boolean" />
194+
<xsd:sequence>
195+
<xsd:element name="mongocryptdURI" type="xsd:string" minOccurs="0" />
196+
<xsd:element name="mongocryptdBypassSpawn" type="xsd:boolean" minOccurs="0" />
197+
<xsd:element name="mongocryptdSpawnPath" type="xsd:string" minOccurs="0" />
198+
<xsd:element name="mongocryptdSpawnArgs" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
199+
<xsd:element name="cryptSharedLibPath" type="xsd:string" minOccurs="0" />
200+
<xsd:element name="cryptSharedLibRequired" type="xsd:boolean" minOccurs="0" />
201+
</xsd:sequence>
200202
</xsd:complexType>
201203

202204
<xsd:complexType name="document-manager">

src/DependencyInjection/Configuration.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ private function addConnectionsSection(ArrayNodeDefinition $rootNode): void
440440
->arrayNode('mongocryptdSpawnArgs')
441441
->beforeNormalization()
442442
->ifString()
443-
->then(static fn ($v) => explode(' ', $v))
443+
->then(static fn ($v) => [$v])
444444
->end()
445445
->prototype('scalar')->cannotBeEmpty()->end()
446446
->end()

tests/DependencyInjection/Fixtures/config/xml/full.xml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -184,14 +184,15 @@
184184
}
185185
]]>
186186
</doctrine:encryptedFieldsMap>
187-
<doctrine:extraOptions
188-
mongocryptdURI="mongodb://localhost:27020"
189-
mongocryptdBypassSpawn="true"
190-
mongocryptdSpawnPath="%kernel.project_dir%/bin/mongocryptd"
191-
mongocryptdSpawnArgs="--pidfilepath=%kernel.project_dir%/var/mongocryptd.pid --idleShutdownTimeoutSecs=60"
192-
cryptSharedLibPath="%kernel.project_dir%/bin/mongo_crypt_v1.dylib"
193-
cryptSharedLibRequired="true"
194-
/>
187+
<doctrine:extraOptions>
188+
<doctrine:mongocryptdURI>mongodb://localhost:27020</doctrine:mongocryptdURI>
189+
<doctrine:mongocryptdBypassSpawn>true</doctrine:mongocryptdBypassSpawn>
190+
<doctrine:mongocryptdSpawnPath>%kernel.project_dir%/bin/mongocryptd</doctrine:mongocryptdSpawnPath>
191+
<doctrine:mongocryptdSpawnArgs>--pidfilepath=%kernel.project_dir%/var/mongocryptd.pid</doctrine:mongocryptdSpawnArgs>
192+
<doctrine:mongocryptdSpawnArgs>--idleShutdownTimeoutSecs=60</doctrine:mongocryptdSpawnArgs>
193+
<doctrine:cryptSharedLibPath>%kernel.project_dir%/bin/mongo_crypt_v1.dylib</doctrine:cryptSharedLibPath>
194+
<doctrine:cryptSharedLibRequired>true</doctrine:cryptSharedLibRequired>
195+
</doctrine:extraOptions>
195196
</doctrine:autoEncryption>
196197
</doctrine:connection>
197198

0 commit comments

Comments
 (0)