Skip to content

$(REQUEST_PATH) represents top level path in nested ESI scenarios #49

@TomStrepsil

Description

@TomStrepsil

Thanks again for this implementation, and alignment with Akamai 5.0 as per this PR.

I've noticed a difference between this and ESI processing on Akamai (using https://hub.docker.com/r/akamaiesi/ets-docker as a harness) in regards to the Akamai-specific REQUEST_PATH variable, now supported, and wondered if worth aligning?

It seems that REQUEST_PATH retains a value throughout nesting, whereas with Akamai it represents the path of each include.

e.g. a document hosted at /original:

<!DOCTYPE html>
<html lang="en">
   <body>
      <p><esi:include src="/path/to/fragment" dca="esi" /></p>
   </body>
<html>

with /path/to/fragment containing:

<esi:vars>$(REQUEST_PATH)</esi:vars>

In Akamai, the output would include:

<p> /path/to/fragment </p>

But fastly/esi would retain the inbound path, and output:

<p> /original </p>

This might be confusing for consumers expecting a strict "subset of Akamai ESI 5.0".

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions