Skip to content
This repository was archived by the owner on Feb 24, 2024. It is now read-only.
This repository was archived by the owner on Feb 24, 2024. It is now read-only.

make the App the root of whole application and introduce Home as a subapp #2240

Open
@sio4

Description

@sio4

The name App sounds like the only root of the application structure (could be a singleton) but actually, it is also a container of a group of URLs that is independently configurable with middlewares and error handlers. The App.Group() and App.Resource() return a new App which is a child of the root App, it's OK, but they have the whole functions of App which is not desirable.

By #2226, a quick fix for #2185, I changed some of the internal implementations of App while keeping the external behavior the same, but there are still some issues caused by the current design. Since we are now discussing v1, the future of buffalo, so I would like to suggest that we keep this structure for the current version and improve the core when we move to the next version.

TODO

  • make the Home the container of a group of URLs and its independent middlewares and error handlers (half done)
  • make Home as a child of the App.
  • make App as a singleton (but we need more consideration for this since it is not always a good thing.)

Context

Metadata

Metadata

Assignees

Labels

breaking changeThis feature / fix introduces breaking changesenhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions