Skip to content

Disabling must-revalidate when serving static files via Inert #163

Description

@pgayvallet

Support plan

  • is this issue currently blocking your project? (yes/no): no
  • is this issue affecting a production system? (yes/no): no

Context

  • node version: 16.14.2
  • module version: 6.0.5
  • environment (e.g. node, browser, native): node
  • used with (e.g. hapi application, another framework, standalone, ...): hapi application
  • any other relevant information: N/A

How can we help?

I'd like to implement a cache-busting mechanism based on filepath, meaning that I'd like to have the cache-control header be (exclusively) max-age={MAX_AGE}, immutable

However, I can't find a way to not have Inert (or HAPI?) adds the must-revalidate directive to this header (or to add immutable to it fwiw).

The way we're configuring our route:

server.route({
      path,
      method: 'GET',
      handler: {
        directory: {
          path: dirPath,
          listing: false,
          lookupCompressed: true,
          etagMethod : false,
        },
      },
      options: {
        auth: false,
        cache: {
          privacy: 'default',
          otherwise: 'immutable',
          expiresIn: 365 * 24 * 60 * 60 * 1000,
        },
      },
    });

When calling the endpoint, the must-revalidate is added

Expected: "max-age=31536000, immutable"
Received: "max-age=31536000, must-revalidate"

Is there any way to prevent inert from adding the must-revalidate directive when serving the files, and to add custom directives (e.g immutable)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    supportQuestions, discussions, and general support

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions