@@ -19,6 +19,7 @@ export interface ModuleOptions {
1919 passThroughHeaders ?: string [ ]
2020 exposeAPIRouteRules ?: boolean
2121 serverLogLevel ?: boolean | 'info' | 'error'
22+ disableFormHandler ?: boolean
2223}
2324
2425export default defineNuxtModule < ModuleOptions > ( {
@@ -43,6 +44,7 @@ export default defineNuxtModule<ModuleOptions>({
4344 serverApiProxy : true ,
4445 passThroughHeaders : [ 'cache-control' , 'content-language' , 'set-cookie' , 'x-drupal-cache' , 'x-drupal-dynamic-cache' ] ,
4546 serverLogLevel : 'info' ,
47+ disableFormHandler : false ,
4648 } ,
4749 setup ( options , nuxt ) {
4850 const nuxtOptions = nuxt . options as NuxtOptionsWithDrupalCe
@@ -63,15 +65,18 @@ export default defineNuxtModule<ModuleOptions>({
6365 addServerPlugin ( resolve ( runtimeDir , 'server/plugins/errorLogger' ) )
6466 }
6567 addImportsDir ( resolve ( runtimeDir , 'composables/useDrupalCe' ) )
66- addServerHandler ( {
67- handler : resolve ( runtimeDir , 'server/middleware/drupalFormHandler' ) ,
68- } )
68+ if ( ! options . disableFormHandler ) {
69+ addServerHandler ( {
70+ handler : resolve ( runtimeDir , 'server/middleware/drupalFormHandler' ) ,
71+ } )
72+ }
6973
7074 const publicOptions = { ...options }
7175 // Server options are not needed in the client bundle.
7276 delete publicOptions . serverLogLevel
7377 delete publicOptions . passThroughHeaders
7478 delete publicOptions . exposeAPIRouteRules
79+ delete publicOptions . disableFormHandler
7580
7681 nuxt . options . runtimeConfig . public . drupalCe = defu ( nuxt . options . runtimeConfig . public . drupalCe ?? { } , publicOptions )
7782
0 commit comments