Skip to content

HTTP headers

The two halves only meet on redirect following, through these headers:

Header Direction Set by Read by
Turbo-Frame request Turbo, on frame requests: the id of the frame TurboManager, the turbo_frame filter, TurboHandler
X-Turbo-Request-Id request Turbo 8+, on its fetch requests (Turbo 7 does not send it) TurboManager::isTurboRequest(), for DELETE redirects
Turbo-Frame-Follow-Redirect request TurboHandler, value 1, for frames with data-turbo-follow-redirect TurboManager::followTurboFrameRedirect(), TurboFrameListener
Turbo-Location response TurboFrameListener, on a 204 replacing a redirect: the original Location TurboHandler, which calls onRedirect

Any backend can drive TurboHandler by answering Turbo-Location, and any client can use TurboFrameListener by following it: see Without @silarhi/turbo.