Merge remote-tracking branch 'origin/master'
# Conflicts: # .idea/workspace.xml # flash-extensions/flash-ext-view-jte/jte-classes/gg/jte/generated/ondemand/pages/JtehomeGenerated.class # flash-extensions/flash-ext-view-jte/src/main/java/dev/relism/flash/ext/view/jte/JteExtension.java
This commit is contained in:
@@ -15,6 +15,59 @@ The extension mirrors `gg.jte.ContentType` into Flash HTTP content type:
|
||||
- `gg.jte.ContentType.Html` -> `text/html`
|
||||
- `gg.jte.ContentType.Plain` -> `text/plain`
|
||||
|
||||
## Static serving (opinionated)
|
||||
|
||||
Static serving is enabled by default and serves classpath assets from `/static/**`
|
||||
(`src/main/resources/static/**`) on an HTTP wildcard route.
|
||||
|
||||
Defaults:
|
||||
|
||||
- `serveStatics = true`
|
||||
- `staticPrefix = "/static"`
|
||||
- ETag via CRC32 + length
|
||||
- `304 Not Modified` on `If-None-Match`
|
||||
- pre-compressed `.gz` support when client sends `Accept-Encoding: gzip`
|
||||
- MIME auto-resolution for common web/media/font/wasm types
|
||||
- cache policy:
|
||||
- versioned assets (`file.<hash>.ext` or query `?v=...` / `?hash=...`) -> `public, max-age=31536000, immutable`
|
||||
- non-versioned -> `no-cache`
|
||||
- byte-range support for large files (threshold configurable, default 64 KiB)
|
||||
|
||||
If classpath `/static` is missing, extension logs a warning and disables static routes.
|
||||
|
||||
### Configuration examples
|
||||
|
||||
```java
|
||||
// option 1: customizer constructor
|
||||
app.install(new JteExtension(cfg -> cfg
|
||||
.templateRoot("/templates")
|
||||
.serveStatics(true)
|
||||
.staticPrefix("/assets")));
|
||||
|
||||
// option 2: fluent style
|
||||
app.install(new JteExtension()
|
||||
.templateRoot("/templates")
|
||||
.withStaticServing()
|
||||
.staticPrefix("/assets"));
|
||||
```
|
||||
|
||||
Disable static serving:
|
||||
|
||||
```java
|
||||
app.install(new JteExtension().serveStatics(false));
|
||||
```
|
||||
|
||||
Enable static CORS (default disabled):
|
||||
|
||||
```java
|
||||
app.install(new JteExtension().staticCors(cfg -> cfg
|
||||
.enableStaticCors(true)
|
||||
.staticCorsAllowOrigin("*")
|
||||
.staticCorsAllowMethods("GET,HEAD,OPTIONS")
|
||||
.staticCorsAllowHeaders("*")
|
||||
.staticCorsMaxAge(3600)));
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
```java
|
||||
|
||||
Reference in New Issue
Block a user