For responses that return HTML, a Twig view file is used. Whilst these are originally defined, the view can be changed. For example, to change the product page view based on product data:
\Aero\Store\Http\Responses\ProductPage::extend(function ($page) {
if ($view = $page->product->additional('view')) {
$page->setView($view);
}
});
Setting the view to null will result in a JSON response.
You can get the current view for a response using $page->getView().