@@ -61,6 +61,12 @@ public function checkConfiguration(): array
6161 'LLL:EXT:svconnector_feed/Resources/Private/Language/locallang.xlf:no_feed_defined '
6262 );
6363 }
64+ // The "requestOptions" parameter is expected to be an array
65+ if (isset ($ this ->parameters ['requestOptions ' ]) && !is_array ($ this ->parameters ['requestOptions ' ])) {
66+ $ result [ContextualFeedbackSeverity::WARNING ->value ][] = $ this ->sL (
67+ 'LLL:EXT:svconnector_feed/Resources/Private/Language/locallang.xlf:request_options_must_be_array '
68+ );
69+ }
6470 return $ result ;
6571 }
6672
@@ -142,12 +148,26 @@ protected function query(): mixed
142148 );
143149 }
144150
145- $ headers = $ this ->parameters ['headers ' ] ?? [];
151+ // Define the request options
152+ $ requestOptions = $ this ->parameters ['requestOptions ' ] ?? [];
153+ // Include deprecated headers property
154+ // TODO: remove in next major version
155+ if (is_array ($ this ->parameters ['headers ' ] ?? null ) && count ($ this ->parameters ['headers ' ]) > 0 ) {
156+ $ requestOptions = array_merge_recursive ($ requestOptions , ['headers ' => $ this ->parameters ['headers ' ]]);
157+ $ backtrace = debug_backtrace (DEBUG_BACKTRACE_IGNORE_ARGS , 2 );
158+ $ caller = end ($ backtrace );
159+ $ callerLocation = sprintf ('file %s, line %d ' , $ caller ['file ' ], $ caller ['line ' ]);
160+
161+ trigger_error (sprintf (
162+ 'Property "headers" is deprecated. Pass headers as part of the "requestOptions" property instead. Location: %s ' ,
163+ $ callerLocation ,
164+ ), E_USER_DEPRECATED );
165+ }
146166 $ fileUtility = GeneralUtility::makeInstance (FileUtility::class);
147167 $ data = $ fileUtility ->getFileContent (
148168 $ this ->parameters ['uri ' ],
149- count ( $ headers ) > 0 ? $ headers : null ,
150- $ this -> parameters [ ' method ' ] ?? ' GET '
169+ $ this -> parameters [ ' method ' ] ?? ' GET ' ,
170+ $ requestOptions
151171 );
152172 if ($ data === false ) {
153173 $ message = sprintf (
0 commit comments