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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions