Skip to content

Feature: Conditionally use fastbootMiddleware #99

@betocantu93

Description

@betocantu93

In most of the use cases that I use Fastboot, its mainly because of the SEO and OG tags (consumed by bots), not for the actual render of something to the end user, while its nice and rehydratation make it even better, sometimes I prefer the instant loading feel (getting fastboot off of the crital path) with an appshell for loading screen, this can be accomplish by using fastboot middleware conditionally from reading user-agent string to detect if its a bot or a human. I got it working by adding this middleware in Worker.js for ExpressServer, since the code always expects a middleware, I condiotionally run the fastbootmiddleware or just an empty one, using express-conditional-middleware

app.use(
  conditional(
   (req, res, next) => { return this.isBot(req.get('user-agent')) }, 
   fastbootMiddleware, 
   (req, res, next) => { next() }
  ) 
)

I think this feature could be exposed as config as boolean, please let me know your thoughts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions