v0.24.5
This commit is contained in:
commit
5e23e9af02
240 files changed
+99957
No files matched your search
@@ -0,0 +1,41 @@
|
||||
# Static-response transformation
|
||||
|
||||
RustProxy 0.22.3 retains static transformation between origin decoding and shared-cache
|
||||
storage. A transformed identity representation is cached once and downstream compression
|
||||
is selected later for each client. Per-vhost and Docker-discovery transform opt-in remain
|
||||
disabled by default even when the global engine is available.
|
||||
|
||||
## Administration dashboard
|
||||
|
||||
The main **Transform** workspace reads `GET /api/transform` and exposes in-memory runtime
|
||||
statistics globally or per vhost:
|
||||
|
||||
- responses examined, transformed, skipped/fail-open and failed;
|
||||
- transformed cache HITs (served without running the transformer again);
|
||||
- original, transformed and saved bytes before client compression;
|
||||
- average transform time;
|
||||
- applied transforms by JavaScript/CSS/HTML/SVG/JSON;
|
||||
- bounded skip/fail-open reason counters;
|
||||
- a per-vhost effectiveness table.
|
||||
|
||||
Counters reset on process restart. They are diagnostic telemetry, not persisted cache
|
||||
metadata. The Cache workspace separately marks stored transformed objects.
|
||||
|
||||
## Cache diagnostics
|
||||
|
||||
When `cache.expose_cache_status=true`, transformed cached representations are identified
|
||||
with the RFC 9211 field plus an extension parameter:
|
||||
|
||||
```http
|
||||
Cache-Status: RustProxy; hit; ttl=556488; detail="cache_hit"; transformed
|
||||
```
|
||||
|
||||
The field remains `Cache-Status`, not `X-Cache-Status`. HTTP/2 and HTTP/3 normalize field
|
||||
names to lowercase on the wire. Origin-provided `Cache-Status` and `X-Cache-Status` values
|
||||
are removed before RustProxy emits its own diagnostics.
|
||||
|
||||
## Release status
|
||||
|
||||
The dashboard/telemetry does not change the existing v0.22.3 release gate. JavaScript and
|
||||
CSS still require mature parser-backed minifiers, and the complete Rust compiler/runtime
|
||||
acceptance gate must pass before release acceptance.
|
||||
Reference in new issue
Block a user