src/Routing/ReadOnlyModeMethodFilter.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Routing/ReadOnlyModeMethodFilter.php b/src/Routing/ReadOnlyModeMethodFilter.php index d788a79..9263cbb 100644 --- a/src/Routing/ReadOnlyModeMethodFilter.php +++ b/src/Routing/ReadOnlyModeMethodFilter.php @@ -51,9 +51,12 @@ class ReadOnlyModeMethodFilter implements FilterInterface { return $collection; } + $read_only_methods = ['GET', 'HEAD', 'OPTIONS', 'TRACE']; $all_supported_methods = []; foreach ($collection->all() as $name => $route) { - if ($route->hasDefault(Routes::JSON_API_ROUTE_FLAG_KEY) && !empty(array_diff($route->getMethods(), ['GET', 'HEAD', 'OPTIONS', 'TRACE']))) { + $is_jsonapi_route = $route->hasDefault(Routes::JSON_API_ROUTE_FLAG_KEY); + $is_read_only_route = !empty(array_diff($route->getMethods(), $read_only_methods)); + if ($is_jsonapi_route && $is_read_only_route) { $collection->remove($name); } }