Skip to content

Commit ab2b0ac

Browse files
committed
🚑 Fix responses always returning 200 on WordPress routes (#412)
1 parent ede407b commit ab2b0ac

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

src/Roots/Acorn/Bootloader.php

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,8 @@ protected function registerDefaultRoute(): void
218218
$response->header('X-Powered-By', $this->app->version());
219219
}
220220

221+
$response->setStatusCode(http_response_code());
222+
221223
$content = '';
222224

223225
$levels = ob_get_level();
@@ -257,13 +259,6 @@ protected function registerRequestHandler(
257259
return;
258260
}
259261

260-
if (
261-
$isApi = Str::startsWith($path, $api) &&
262-
redirect_canonical(null, false)
263-
) {
264-
return;
265-
}
266-
267262
add_filter('do_parse_request', function ($condition, $wp, $params) use ($route) {
268263
if (! $route) {
269264
return $condition;
@@ -282,9 +277,15 @@ protected function registerRequestHandler(
282277
return;
283278
}
284279

285-
$config = $this->app->config->get('router.wordpress', ['web' => 'web', 'api' => 'api']);
280+
if (redirect_canonical(null, false)) {
281+
return;
282+
}
283+
284+
$middleware = Str::startsWith($path, $api)
285+
? $this->app->config->get('router.wordpress.api', 'api')
286+
: $this->app->config->get('router.wordpress.web', 'web');
286287

287-
$route->middleware($isApi ? $config['api'] : $config['web']);
288+
$route->middleware($middleware);
288289

289290
ob_start();
290291

0 commit comments

Comments
 (0)